SimulationA simulation is the imitation of the operation of a real-world process or system over time. Simulations require the use of models; the model represents the key characteristics or behaviors of the selected system or process, whereas the simulation represents the evolution of the model over time. Often, computers are used to execute the simulation. Simulation is used in many contexts, such as simulation of technology for performance tuning or optimizing, safety engineering, testing, training, education, and video games.
Urban planningUrban planning, also known as town planning, city planning, regional planning, or rural planning, is a technical and political process that is focused on the development and design of land use and the built environment, including air, water, and the infrastructure passing into and out of urban areas, such as transportation, communications, and distribution networks and their accessibility.
Computer simulationComputer simulation is the process of mathematical modelling, performed on a computer, which is designed to predict the behaviour of, or the outcome of, a real-world or physical system. The reliability of some mathematical models can be determined by comparing their results to the real-world outcomes they aim to predict. Computer simulations have become a useful tool for the mathematical modeling of many natural systems in physics (computational physics), astrophysics, climatology, chemistry, biology and manufacturing, as well as human systems in economics, psychology, social science, health care and engineering.
Intelligent agentIn artificial intelligence, an intelligent agent (IA) is an agent acting in an intelligent manner; It perceives its environment, takes actions autonomously in order to achieve goals, and may improve its performance with learning or acquiring knowledge. An intelligent agent may be simple or complex: A thermostat or other control system is considered an example of an intelligent agent, as is a human being, as is any system that meets the definition, such as a firm, a state, or a biome.
Urban sprawlUrban sprawl (also known as suburban sprawl or urban encroachment) is defined as "the spreading of urban developments (such as houses and shopping centers) on undeveloped land near a city". Urban sprawl has been described as the unrestricted growth in many urban areas of housing, commercial development, and roads over large expanses of land, with little concern for urban planning. In addition to describing a special form of urbanization, the term also relates to the social and environmental consequences associated with this development.
Multi-agent systemA multi-agent system (MAS or "self-organized system") is a computerized system composed of multiple interacting intelligent agents. Multi-agent systems can solve problems that are difficult or impossible for an individual agent or a monolithic system to solve. Intelligence may include methodic, functional, procedural approaches, algorithmic search or reinforcement learning. Despite considerable overlap, a multi-agent system is not always the same as an agent-based model (ABM).
Software agentIn computer science, a software agent or software AI is a computer program that acts for a user or other program in a relationship of agency, which derives from the Latin agere (to do): an agreement to act on one's behalf. Such "action on behalf of" implies the authority to decide which, if any, action is appropriate. Some agents are colloquially known as bots, from robot. They may be embodied, as when execution is paired with a robot body, or as software such as a chatbot executing on a phone (e.g.
Java (programming language)Java is a high-level, class-based, object-oriented programming language that is designed to have as few implementation dependencies as possible. It is a general-purpose programming language intended to let programmers write once, run anywhere (WORA), meaning that compiled Java code can run on all platforms that support Java without the need to recompile. Java applications are typically compiled to bytecode that can run on any Java virtual machine (JVM) regardless of the underlying computer architecture.
Agent-based modelAn agent-based model (ABM) is a computational model for simulating the actions and interactions of autonomous agents (both individual or collective entities such as organizations or groups) in order to understand the behavior of a system and what governs its outcomes. It combines elements of game theory, complex systems, emergence, computational sociology, multi-agent systems, and evolutionary programming. Monte Carlo methods are used to understand the stochasticity of these models.
Built environmentThe term built environment refers to human-made conditions and is often used in architecture, landscape architecture, urban planning, public health, sociology, and anthropology, among others. These curated spaces provide the setting for human activity and were created to fulfill human desires and needs. The term can refer to a plethora of components including the traditionally associated buildings, cities, public infrastructure, transportation, open space, as well as more conceptual components like farmlands, dammed rivers, wildlife management, and even domesticated animals.
Urban plannerAn urban planner (also known as town planner) is a professional who practices in the field of town planning, urban planning or city planning. An urban planner may focus on a specific area of practice and have a title such as city planner, town planner, regional planner, long-range planner, transportation planner, infrastructure planner, environmental planner, parks planner, physical planner, health planner, planning analyst, urban designer, community development director, economic development specialist, or other similar combinations.
Social simulationSocial simulation is a research field that applies computational methods to study issues in the social sciences. The issues explored include problems in computational law, psychology, organizational behavior, sociology, political science, economics, anthropology, geography, engineering, archaeology and linguistics . Social simulation aims to cross the gap between the descriptive approach used in the social sciences and the formal approach used in the natural sciences, by moving the focus on the processes/mechanisms/behaviors that build the social reality.
Smart growthSmart growth is an urban planning and transportation theory that concentrates growth in compact walkable urban centers to avoid sprawl. It also advocates compact, transit-oriented, walkable, bicycle-friendly land use, including neighborhood schools, complete streets, and mixed-use development with a range of housing choices. The term "smart growth" is particularly used in North America.
Sustainable urbanismSustainable urbanism is both the study of cities and the practices to build them (urbanism), that focuses on promoting their long term viability by reducing consumption, waste and harmful impacts on people and place while enhancing the overall well-being of both people and place. Well-being includes the physical, ecological, economic, social, health and equity factors, among others, that comprise cities and their populations.
Geographic information systemA geographic information system (GIS) consists of integrated computer hardware and software that store, manage, analyze, edit, output, and visualize geographic data. Much of this often happens within a spatial database, however, this is not essential to meet the definition of a GIS. In a broader sense, one may consider such a system also to include human users and support staff, procedures and workflows, the body of knowledge of relevant concepts and methods, and institutional organizations.
Programming languageA programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language. The description of a programming language is usually split into the two components of syntax (form) and semantics (meaning), which are usually defined by a formal language. Some languages are defined by a specification document (for example, the C programming language is specified by an ISO Standard) while other languages (such as Perl) have a dominant implementation that is treated as a reference.
Business simulation gameBusiness simulation games, also known as economic simulation games or tycoon games, are games that focus on the management of economic processes, usually in the form of a business. Pure business simulations have been described as construction and management simulations without a construction element, and can thus be called simulations. Indeed, micromanagement is often emphasized in these kinds of games. They are essentially numeric, but try to hold the player's attention by using creative graphics.
Urban geographyUrban geography is the subdiscipline of geography that derives from a study of cities and urban processes. Urban geographers and urbanists examine various aspects of urban life and the built environment. Scholars, activists, and the public have participated in, studied, and critiqued flows of economic and natural resources, human and non-human bodies, patterns of development and infrastructure, political and institutional activities, governance, decay and renewal, and notions of socio-spatial inclusions, exclusions, and everyday life.
Urban areaAn urban area, built-up area or urban agglomeration is a human settlement with a high population-density and an infrastructure of built environment. This is the core of a metropolitan statistical area in the United States, if it contains a population of more than 50,000. Urban areas originate through urbanization, and researchers categorize them as cities, towns, conurbations or suburbs. In urbanism, the term "urban area" contrasts to rural areas such as villages and hamlets; in urban sociology or urban anthropology it contrasts with natural environment.
High-level programming languageIn computer science, a high-level programming language is a programming language with strong abstraction from the details of the computer. In contrast to low-level programming languages, it may use natural language elements, be easier to use, or may automate (or even hide entirely) significant areas of computing systems (e.g. memory management), making the process of developing a program simpler and more understandable than when using a lower-level language. The amount of abstraction provided defines how "high-level" a programming language is.