AI Analytics Data

AI Analytics Data — independent reviews, comparisons, pricing and step-by-step guides on Aizhi.

  • MultiValue database

    MultiValue database

    A MultiValue database is a type of NoSQL and multidimensional database. It is typically considered synonymous with PICK, a database originally developed as the Pick operating system. MultiValue databases include commercial products from Rocket Software, Revelation, InterSystems, Northgate Information Solutions, ONgroup, and other companies. These databases differ from a relational database in that they have features that support and encourage the use of attributes which can take a list of values, rather than all attributes being single-valued. They are often categorized with MUMPS within the category of post-relational databases, although the data model actually pre-dates the relational model. Unlike SQL-DBMS tools, most MultiValue databases can be accessed both with or without SQL. == History == Don Nelson designed the MultiValue data model in the early to mid-1960s. Dick Pick, a developer at TRW, worked on the first implementation of this model for the US Army in 1965. Pick considered the software to be in the public domain because it was written for the military, this was but the first dispute regarding MultiValue databases that was addressed by the courts. Ken Simms wrote DataBASIC, sometimes known as S-BASIC, in the mid-1970s. It was based on Dartmouth BASIC, but had enhanced features for data management. Simms played a lot of Star Trek (a text-based early computer game originally written in Dartmouth BASIC) while developing the language, to ensure that DataBASIC functioned to his satisfaction. Three of the implementations of MultiValue - PICK version R77, Microdata Reality 3.x, and Prime Information 1.0 - were very similar. In spite of attempts to standardize, particularly by International Spectrum and the Spectrum Manufacturers Association, who designed a logo for all to use, there are no standards across MultiValue implementations. Subsequently, these flavors diverged, although with some cross-over. These streams of MultiValue database development could be classified as one stemming from PICK R83, one from Microdata Reality, and one from Prime Information. Because of the differences, some implementations have provisions for supporting several flavors of the languages. An attempt to document the similarities and differences can be found at the Post-Relational Database Reference (PRDB). One reasonable hypothesis for this data model lasting 50 years, with new database implementations of the model even in the 21st century is that it provides inexpensive database solutions. == Data model example == In a MultiValue database system: a database or schema is called an "account" a table or collection is called a "file" a column or field is called a field or an "attribute", which is composed of "multi-value attributes" and "sub-value attributes" to store multiple values in the same attribute. a row or document is called a "record" or "item" Data is stored using two separate files: a "file" to store raw data and a "dictionary" to store the format for displaying the raw data. For example, assume there's a file (table) called "PERSON". In this file, there is an attribute called "eMailAddress". The eMailAddress field can store a variable number of email address values in a single record. The list [[email protected], [email protected], [email protected]] can be stored and accessed via a single query when accessing the associated record. Achieving the same (one-to-many) relationship within a traditional relational database system would include creating an additional table to store the variable number of email addresses associated with a single "PERSON" record. However, modern relational database systems support this multi-value data model too. For example, in PostgreSQL, a column can be an array of any base type. == MultiValue Basic Language == Multivalue Basic (now commonly styled as mvBasic) is a family of programming languages more or less common (and portable) to all the multivalue databases derived from the original Pick Operating System. The variations between implementations are known as flavours. The language originates from Dartmouth Basic and the earliest implementation of PickBASIC (now D3 FlashBasic). Over time various customisations and extensions have been added to take advantage of capabilities added to the different flavours while staying mainly in sync. mvBasic statements and functions are designed to access and take advantage of the multivalue database model and providing the usual capabilities of most modern languages. For example, cryptography and communications. mvBasic is typeless and lends itself to structured programming techniques. Example code is available but limited. Whilst there are commercial applications and tools available, the multivalue database community has not embraced the open source library/package model to the degree seen with other languages. The typical mvBasic compiler compiles program source to a P-code executable object and runs in an interpreter, with D3 FlashBasic and jBASE being notable exceptions. == MultiValue Query Language == Known as ENGLISH, ACCESS, AQL, UniQuery, Retrieve, CMQL, and by many other names over the years, corresponding to the different MultiValue implementations, the MultiValue query language differs from SQL in several respects. Each query is issued against a single dictionary within the schema, which could be understood as a virtual file or a portal to the database through which to view the data. LIST PEOPLE LAST_NAME FIRST_NAME EMAIL_ADDRESSES WITH LAST_NAME LIKE "Van..." The above statement would list all e-mail addresses for each person whose last name starts with "Van". A single entry would be output for each person, with multiple lines showing the multiple e-mail addresses (without repeating other data about the person).

    Read more →
  • Civitai

    Civitai

    Civitai is an online platform and marketplace for generative artificial intelligence (Gen AI) content, primarily focused on AI-generated images and models, and AI-generated videos. == History == Civitai was founded in 2022 by Justin Maier. By January 2023, the site reached 100,000 registered users and 3 million by November. In November 2023, Civitai secured funding from venture capital firm Andreessen Horowitz. By April 2024, Civitai had 23.2 million monthly accesses. The company is headquartered in Boise, Idaho. == Platform == Civitai allows users to share and download AI models, particularly those used for image generation. The platform supports various AI models, including Stable Diffusion and Flux, and provides a space for users to showcase and monetize their AI-generated content. Users have profile pages and can comment on other users' models and images. The website also features a virtual currency called Buzz that can be used to generate images on Civitai's servers. Buzz can be bought or earned by engaging with the site. The platform is open source. == Controversies == In 2023, 404 Media reported that Civitai began a "Bounties" marketplace where users could commission deepfakes, of real or fake people. Users are rewarded with Buzz for completing Bounties. In December 2023, AI provider OctoML announced it had ended its business relationship with Civitai after concerns were raised users were generating images that “could be categorized as child pornography.”

    Read more →
  • Infer.NET

    Infer.NET

    Infer.NET is a free and open source .NET software library for machine learning. It supports running Bayesian inference in graphical models and can also be used for probabilistic programming. == Overview == Infer.NET follows a model-based approach and is used to solve different kinds of machine learning problems including standard problems like classification, recommendation or clustering, customized solutions and domain-specific problems. The framework is used in various different domains such as bioinformatics, epidemiology, computer vision, and information retrieval. Development of the framework was started by a team at Microsoft's research centre in Cambridge, UK in 2004. It was first released for academic use in 2008 and later open sourced in 2018. In 2013, Microsoft was awarded the USPTO's Patents for Humanity Award in Information Technology category for Infer.NET and the work in advanced machine learning techniques. Infer.NET is used internally at Microsoft as the machine learning engine in some of their products such as Office, Azure, and Xbox. The source code is licensed under MIT License and available on GitHub. It is also available as NuGet package.

    Read more →
  • Frame (artificial intelligence)

    Frame (artificial intelligence)

    Frames are an artificial intelligence data structure used to divide knowledge into substructures by representing "stereotyped situations". They were proposed by Marvin Minsky in his 1974 article "A Framework for Representing Knowledge". Frames are the primary data structure used in artificial intelligence frame languages; they are stored as ontologies of sets. Frames are also an extensive part of knowledge representation and reasoning schemes. They were originally derived from semantic networks and are therefore part of structure-based knowledge representations. According to Russell and Norvig's Artificial Intelligence: A Modern Approach, structural representations assemble "facts about particular object and event types and [arrange] the types into a large taxonomic hierarchy analogous to a biological taxonomy". == Frame structure == The frame contains information on how to use the frame, what to expect next, and what to do when these expectations are not met. Some information in the frame is generally unchanged while other information, stored in "terminals", usually change. Terminals can be considered as variables. Top-level frames carry information, that is always true about the problem in hand, however, terminals do not have to be true. Their value might change with the new information encountered. Different frames may share the same terminals. Each piece of information about a particular frame is held in a slot. The information can contain: Facts or Data Values (called facets) Procedures (also called procedural attachments) IF-NEEDED: deferred evaluation IF-ADDED: updates linked information Default Values For Data For Procedures Other Frames or Subframes == Features and advantages == A frame's terminals are already filled with default values, which is based on how the human mind works. For example, when a person is told "a boy kicks a ball", most people will visualize a particular ball (such as a familiar soccer ball) rather than imagining some abstract ball with no attributes. One particular strength of frame-based knowledge representations is that, unlike semantic networks, they allow for exceptions in particular instances. This gives frames a degree of flexibility that allows representations to reflect real-world phenomena more accurately. Like semantic networks, frames can be queried using spreading activation. Following the rules of inheritance, any value given to a slot that is inherited by subframes will be updated (IF-ADDED) to the corresponding slots in the subframes and any new instances of a particular frame will feature that new value as the default. Because frames are based on structures, it is possible to generate a semantic network given a set of frames even though it lacks explicit arcs. References to Noam Chomsky and his generative grammar of 1950 are generally missing from Minsky's work. The simplified structures of frames allow for easy analogical reasoning, a much prized feature in any intelligent agent. The procedural attachments provided by frames also allow a degree of flexibility that makes for a more realistic representation and gives a natural affordance for programming applications. == Example == Worth noticing here is the easy analogical reasoning (comparison) that can be done between a boy and a monkey just by having similarly named slots. Also notice that Alex, an instance of a boy, inherits default values like "Sex" from the more general parent object Boy, but the boy may also have different instance values in the form of exceptions such as the number of legs. == Frame language == A frame language is a technology used for knowledge representation in artificial intelligence. They are similar to class hierarchies in object-oriented languages although their fundamental design goals are different. Frames are focused on explicit and intuitive representation of knowledge whereas objects focus on encapsulation and information hiding. Frames originated in AI research and objects primarily in software engineering. However, in practice, the techniques and capabilities of frame and object-oriented languages overlap significantly. === Example === A simple example of concepts modeled in a frame language is the Friend of A Friend (FOAF) ontology defined as part of the Semantic Web as a foundation for social networking and calendar systems. The primary frame in this simple example is a Person. Example slots are the person's email, home page, phone, etc. The interests of each person can be represented by additional frames describing the space of business and entertainment domains. The slot knows links each person with other persons. Default values for a person's interests can be inferred by the web of people they are friends of. === Implementations === The earliest frame-based languages were custom developed for specific research projects and were not packaged as tools to be re-used by other researchers. Just as with expert system inference engines, researchers soon realized the benefits of extracting part of the core infrastructure and developing general-purpose frame languages that were not coupled to specific applications. One of the first general-purpose frame languages was KRL. One of the most influential early frame languages was KL-ONE. KL-ONE spawned several subsequent Frame languages. One of the most widely used successors to KL-ONE was the Loom language developed by Robert MacGregor at the Information Sciences Institute. In the 1980s, Artificial Intelligence generated a great deal of interest in the business world fueled by expert systems. This led to the development of many commercial products for the development of knowledge-based systems. These early products were usually developed in Lisp and integrated constructs such as IF-THEN rules for logical reasoning with Frame hierarchies for representing data. One of the most well known of these early Lisp knowledge-base tools was the Knowledge Engineering Environment (KEE) from Intellicorp. KEE provided a full Frame language with multiple inheritance, slots, triggers, default values, and a rule engine that supported backward and forward chaining. As with most early commercial versions of AI software KEE was originally deployed in Lisp on Lisp machine platforms but was eventually ported to PCs and Unix workstations. The research agenda of the Semantic Web spawned a renewed interest in automatic classification and frame languages. An example is the Web Ontology Language (OWL) standard for describing information on the Internet. OWL is a standard to provide a semantic layer on top of the Internet. The goal is that rather than searching the web using keywords as most search engines (e.g. Google) do today, the web can be organized by concepts organized in an ontology, like a directory structure. The name of the OWL language itself provides a good example of the value of a Semantic Web. If one were to search for "OWL" using the Internet today most of the pages retrieved would be on the bird Owl rather than the standard OWL. With a Semantic Web it would be possible to specify the concept "Web Ontology Language" and the user would not need to worry about the various possible acronyms or synonyms as part of the search. Likewise, the user would not need to worry about homonyms crowding the search results with irrelevant data such as information about birds of prey as in this simple example. In addition to OWL, various standards and technologies that are relevant to the Semantic Web and were influenced by Frame languages include OIL and DAML. The Protege Open Source software tool from Stanford University provides an ontology editing capability that is built on OWL and has the full capabilities of a classifier. However it ceased to explicitly support frames as of version 3.5 (which is maintained for those preferring frame orientation), with the current version being 5.6.8 as of 2025. The justification for moving from explicit frames being that OWL DL is more expressive and "industry standard". === Comparison of frames and objects === Frame languages have a significant overlap with object-oriented languages. The terminologies and goals of the two communities were different but as they moved from the academic world and labs to the commercial world developers tended to not care about philosophical issues and focused primarily on specific capabilities, taking the best from either camp regardless of where the idea began. What both paradigms have in common is a desire to reduce the distance between concepts in the real world and their implementation in software. As such both paradigms arrived at the idea of representing the primary software objects in taxonomies starting with very general types and progressing to more specific types. The following table illustrates the correlation between standard terminology from the object-oriented and frame language communities: The primary difference between the two paradigms was in the degree that encapsulation was considered a majo

    Read more →
  • Object model

    Object model

    In computing, object model has two related but distinct meanings: The properties of objects in general in a specific computer programming language, technology, notation or methodology that uses them. Examples are the object models of Java, the Component Object Model (COM), or Object-Modeling Technique (OMT). Such object models are usually defined using concepts such as class, generic function, message, inheritance, polymorphism, and encapsulation. There is an extensive literature on formalized object models as a subset of the formal semantics of programming languages. A collection of objects or classes through which a program can examine and manipulate some specific parts of its world. In other words, the object-oriented interface to some service or system. Such an interface is said to be the object model of the represented service or system. For example, the Document Object Model (DOM) is a collection of objects that represent a page in a web browser, used by script programs to examine and dynamically change the page. There is a Microsoft Excel object model [1] for controlling Microsoft Excel from another program, and the ASCOM Telescope Driver is an object model for controlling an astronomical telescope. == Features == An object model consists of the following important features: === Object reference === Objects can be accessed via object references. To invoke a method in an object, the object reference and method name are given, together with any arguments. === Interfaces === An interface provides a definition of the signature of a set of methods without specifying their implementation. An object will provide a particular interface if its class contains code that implement the method of that interface. An interface also defines types that can be used to declare the type of variables or parameters and return values of methods. === Actions === An action in object-oriented programming (OOP) is initiated by an object invoking a method in another object. An invocation can include additional information needed to carry out the method. The receiver executes the appropriate method and then returns control to the invoking object, sometimes supplying a result. === Exceptions === Programs can encounter various errors and unexpected conditions of varying seriousness. During the execution of the method many different problems may be discovered. Exceptions provide a clean way to deal with error conditions without complicating the code. A block of code may be defined to throw an exception whenever particular unexpected conditions or errors arise. This means that control passes to another block of code that catches the exception.

    Read more →
  • Guideline execution engine

    Guideline execution engine

    A guideline execution engine is a computer program which can interpret a clinical guideline represented in a computerized format and perform actions towards the user of an electronic medical record. A guideline execution engine needs to communicate with a host clinical information system. Virtual Medical Record (vMR) is one possible interface which can be used. The engine's main function is to manage instances of executed guidelines of individual patients. == Architecture == The following modules are generally needed for any engine: interface to clinical information system new guidelines loading module guideline interpreter module clinical events parser alert/recommendations dispatch == Guideline Interchange Format == The Guideline Interchange Format (GLIF) is a computer representation format for clinical guidelines. Represented guidelines can be executed using a guideline execution engine. The format has several versions as it has been improved. In 2003 GLIF3 was introduced. == Use of third party workflow engine as a guideline execution engine == Some commercial electronic health record systems use a workflow engine to execute clinical guidelines. RetroGuide and HealthFlow are examples of such an approach.

    Read more →
  • Buddhism and artificial intelligence

    Buddhism and artificial intelligence

    The relationship between Buddhist philosophy and artificial intelligence (AI) includes how principles such as the reduction of suffering and ethical responsibility may influence AI development. Buddhist scholars and philosophers have explored questions such as whether AI systems could be considered sentient beings under Buddhist definitions, and how Buddhist ethics might guide the design and application of AI technologies. Some Buddhist scholars, including Somparn Promta and Kenneth Einar Himma, have analyzed the ethical implications of AI, emphasizing the distinction between satisfying sensory desires and pursuing the reduction of suffering. Other thinkers, such as Thomas Doctor and colleagues, have proposed applying the Bodhisattva vow—a commitment to alleviate suffering for all sentient beings—as a guiding principle for AI system design. Buddhist scholars and ethicists have examined Buddhist ethical principles, such as nonviolence, in relation to AI, focusing on the need to ensure that AI technologies are not used to cause harm. == Context == === Sentient beings === A major goal in Buddhist philosophy is the removal of suffering for all sentient beings, an aspiration often referred to in the Bodhisattva vow. Discussions about artificial intelligence (AI) in relation to Buddhist principles have raised questions about whether artificial systems could be considered sentient beings or how such systems might be developed in ways that align with Buddhist concepts. Buddhists have varying opinions about AI sentience, but if AI systems are determined to be sentient under Buddhist definitions, their suffering would also need to be addressed and alleviated in accordance with the principles of Buddhist thought. == Buddhist principles in AI system design == === Nonviolence and AI === The broadest ethical concern is that artificial intelligence should align with the Buddhist principle of nonviolence. From this perspective, AI systems should not be designed or used to cause harm. === Instrumental and transcendental goals === Scholars Somparn Promta and Kenneth Einar Himma have argued that the advancement of artificial intelligence can only be considered instrumentally good, rather than good a priori, from a Buddhist perspective. They propose two main goals for AI designers and developers: to set ethical and pragmatic objectives for AI systems, and to fulfill these objectives in morally permissible ways. Promta and Himma identify two potential purposes for creating AI systems. The first is to fulfill our sensory desires and survival instincts, similar to other tools. They suggest that many AI developers implicitly prioritize this goal by focusing on technicalities rather than broader functionalities. The second, and more important goal according to Buddhist teachings, is to transcend these desires and instincts. In texts like the Brahmajāla Sutta and minor Malunkya Sutta, the Buddha emphasizes that sensory desires and survival instincts confine beings to suffering, and that eliminating suffering is the primary goal of human life. Promta and Himma argue that AI has the potential to assist humanity in transcending suffering by helping individuals overcome survival-driven instincts. === Intelligence as care === Thomas Doctor, Olaf Witkowski, Elizaveta Solomonova, Bill Duane, and Michael Levin propose redefining intelligence through the concept of "intelligence as care," and promote it as a slogan. Inspired by the Bodhisattva vow, they suggest this principle could guide AI system design. The Bodhisattva vow involves a formal commitment to alleviate suffering for all sentient beings, with four primary objectives: Liberating all beings from suffering. Extirpating all forms of suffering. Mastering endless techniques of practicing Dharma (Pali: dhammakkhandha, Sanskrit: dharmaskandha). Achieving ultimate enlightenment (Sanskrit: अनुत्तर सम्यक् सम्बोधि, Romanized: anuttara-samyak-saṃbodhi). This approach positions AI as a tool for exercising infinite care and alleviating stress and suffering for sentient beings. Doctor et al. emphasize that AI development should align with these altruistic principles.

    Read more →
  • Hubert Dreyfus

    Hubert Dreyfus

    Hubert Lederer Dreyfus ( DRY-fəs; October 15, 1929 – April 22, 2017) was an American philosopher and a professor of philosophy at the University of California, Berkeley. His main interests included phenomenology, existentialism and the philosophy of both psychology and literature, as well as the philosophical implications of artificial intelligence. He was widely known for his exegesis of Martin Heidegger, which critics labeled "Dreydegger". Dreyfus was featured in Tao Ruspoli's film Being in the World (2010), and was among the philosophers interviewed by Bryan Magee for the BBC Television series The Great Philosophers (1987). The Futurama character Professor Hubert Farnsworth is partly named after him, writer Eric Kaplan having been a former student. == Life and career == Dreyfus was born on 15 October 1929, in Terre Haute, Indiana, to Stanley S. and Irene (Lederer) Dreyfus. He attended Harvard University from 1947. With a senior honors thesis on Causality and Quantum Theory (for which W. V. O. Quine was the main examiner) he was awarded a B.A. summa cum laude in 1951 and joined Phi Beta Kappa. He was awarded a M.A. in 1952. He was a Teaching Fellow at Harvard from 1952 to 1953 (as he was again in 1954 and 1956). Then, on a Harvard Sheldon traveling fellowship, Dreyfus studied at the University of Freiburg from 1953 to 1954. During this time he had an interview with Martin Heidegger. Sean D. Kelly records that Dreyfus found the meeting 'disappointing.' A brief mention of it was made by Dreyfus during his 1987 BBC interview with Bryan Magee in remarks that are revealing of both his and Heidegger's opinion of the work of Jean-Paul Sartre. Between 1956 and 1957, Dreyfus undertook research at the Husserl Archives at the University of Louvain on a Fulbright Fellowship. Towards the end of his stay, his first (jointly authored) paper "Curds and Lions in Don Quijote" would appear in print. After acting as an instructor in philosophy at Brandeis University (1957–1959), he attended the Ecole Normale Supérieure, Paris, on a French government grant (1959–1960). From 1960, first as an instructor, then as an assistant and then associate professor, Dreyfus taught philosophy at the Massachusetts Institute of Technology (MIT). In 1964, with his dissertation Husserl's Phenomenology of Perception, he obtained his Ph.D. from Harvard. (Due to his knowledge of Husserl, Dagfinn Føllesdal sat on the thesis committee but he has asserted that Dreyfus "was not really my student.") That same year, his co-translation (with his first wife) of Sense and Non-Sense by Maurice Merleau-Ponty was published. Also in 1964, and whilst still at MIT, he was employed as a consultant by the RAND Corporation to review the work of Allen Newell and Herbert A. Simon in the field of artificial intelligence (AI). This resulted in the publication, in 1965, of the "famously combative" Alchemy and Artificial Intelligence, which proved to be the first of a series of papers and books attacking the AI field's claims and assumptions. The first edition of What Computers Can't Do would follow in 1972, and this critique of AI (which has been translated into at least ten languages) would establish Dreyfus's public reputation. However, as the editors of his Festschrift noted: "the study and interpretation of 'continental' philosophers... came first in the order of his philosophical interests and influences." === Berkeley === In 1968, although he had been granted tenure, Dreyfus left MIT and became an associate professor of philosophy at the University of California, Berkeley, (winning, that same year, the Harbison Prize for Outstanding Teaching). In 1972 he was promoted to full professor. Though Dreyfus retired from his chair in 1994, he continued as professor of philosophy in the Graduate School (and held, from 1999, a joint appointment in the rhetoric department). He continued to teach philosophy at UC Berkeley until his last class in December 2016. Dreyfus was elected a fellow of the American Academy of Arts and Sciences in 2001. He was also awarded an honorary doctorate for "his brilliant and highly influential work in the field of artificial intelligence" and his interpretation of twentieth century continental philosophy by Erasmus University. Dreyfus died on April 22, 2017. His younger brother and sometimes collaborator, Stuart Dreyfus, is a professor emeritus of industrial engineering and operations research at the University of California, Berkeley. == Dreyfus' criticism of AI == Dreyfus' critique of artificial intelligence (AI) concerns what he considers to be the four primary assumptions of AI research. The first two assumptions are what he calls the "biological" and "psychological" assumptions. The biological assumption is that the brain is analogous to computer hardware and the mind is analogous to computer software. The psychological assumption is that the mind works by performing discrete computations (in the form of algorithmic rules) on discrete representations or symbols. Dreyfus claims that the plausibility of the psychological assumption rests on two others: the epistemological and ontological assumptions. The epistemological assumption is that all activity (either by animate or inanimate objects) can be formalized (mathematically) in the form of predictive rules or laws. The ontological assumption is that reality consists entirely of a set of mutually independent, atomic (indivisible) facts. It's because of the epistemological assumption that workers in the field argue that intelligence is the same as formal rule-following, and it's because of the ontological one that they argue that human knowledge consists entirely of internal representations of reality. On the basis of these two assumptions, workers in the field claim that cognition is the manipulation of internal symbols by internal rules, and that, therefore, human behaviour is, to a large extent, context free (see contextualism). Therefore, a truly scientific psychology is possible, which will detail the 'internal' rules of the human mind, in the same way the laws of physics detail the 'external' laws of the physical world. However, it is this key assumption that Dreyfus denies. In other words, he argues that we cannot now (and never will be able to) understand our own behavior in the same way as we understand objects in, for example, physics or chemistry: that is, by considering ourselves as things whose behaviour can be predicted via 'objective', context free scientific laws. According to Dreyfus, a context-free psychology is a contradiction in terms. Dreyfus's arguments against this position are taken from the phenomenological and hermeneutical tradition (especially the work of Martin Heidegger). Heidegger argued that, contrary to the cognitivist views (on which AI has been based), our being is in fact highly context-bound, which is why the two context-free assumptions are false. Dreyfus doesn't deny that we can choose to see human (or any) activity as being 'law-governed', in the same way that we can choose to see reality as consisting of indivisible atomic facts... if we wish. But it is a huge leap from that to state that because we want to or can see things in this way that it is therefore an objective fact that they are the case. In fact, Dreyfus argues that they are not (necessarily) the case, and that, therefore, any research program that assumes they are will quickly run into profound theoretical and practical problems. Therefore, the current efforts of workers in the field are doomed to failure. Dreyfus argues that to get a device or devices with human-like intelligence would require them to have a human-like being-in-the-world and to have bodies more or less like ours, and social acculturation (i.e. a society) more or less like ours. (This view is shared by psychologists in the embodied psychology (Lakoff and Johnson 1999) and distributed cognition traditions. His opinions are similar to those of robotics researchers such as Rodney Brooks as well as researchers in the field of artificial life.) Contrary to a popular misconception, Dreyfus never predicted that computers would never beat humans at chess. In Alchemy and Artificial Intelligence, he only reported (correctly) the state of the art of the time: "Still no chess program can play even amateur chess." Daniel Crevier writes: "time has proven the accuracy and perceptiveness of some of Dreyfus's comments. Had he formulated them less aggressively, constructive actions they suggested might have been taken much earlier." == Webcasting philosophy == When UC Berkeley and Apple began making a selected number of lecture classes freely available to the public as podcasts beginning around 2006, a recording of Dreyfus teaching a course called "Man, God, and Society in Western Literature – From Gods to God and Back" rose to the 58th most popular webcast on iTunes. These webcasts have attracted the attention of many, including non-academics, to Dreyfus and his

    Read more →
  • JustWatch

    JustWatch

    JustWatch is a website that provides information on the availability of films and TV shows on various streaming platforms such as Netflix, HBO Max, Disney+, Hulu, Peacock, Fandango at Home, Apple TV, and Amazon Prime Video, among others. It is also available as a mobile application and smart TV application. JustWatch provides a search engine that allows users to discover which digital platforms host a particular movie or TV series. As of November 2023, JustWatch is available to users in 139 countries. == Features == JustWatch functions as a search engine by aggregating information about the online availability of films and TV series from video-on-demand streaming services. It aggregates information from more than 100 video content libraries, as well providing information about video resolution quality, pricing, and purchase or rental options. The website includes various filters for searching, including genre, price, release date, rating, and popularity. Users are also able to create lists of shows and movies and to share these lists with other users. == History == JustWatch GmbH is an international database company that is privately held and headquartered in Berlin, Germany. The company specializes in the online availability of movies and TV series. In addition to its user-facing website, the company also has an advertising-focused arm, JustWatch Media, that works with corporate clients, using data about what people watch that it gleans from user behavior to help entertainment companies tailor their marketing strategies. Its clients include Universal Pictures, Paramount Pictures, and Sony Pictures, among others. Development of the website began in 2014, and it was launched in the U.S. and Germany in February 2015. In 2018, the company received funding to improve databases within the European Union. In December 2019, the company acquired a rival streaming aggregation service, GoWatchIt, from Plexus Entertainment. JustWatch also used the acquisition to open its first New York office. In 2019, JustWatch had over 30 million users across 38 countries. By 2020, the company's streaming aggregation service was available in over 45 countries. By November 2023, it was available in 139 countries, and had over 40 million monthly users. === Founding === JustWatch was co-founded in 2013 by David Croyé, Cristoph Hoyer, Kevin Hiller, Dominik Raute, Ingke Weimert, and Michael Wilken. In a company blog post from February 2017, Croyé described the group of co-founders as all having previously "worked in leading roles at successful international tech-startups in Berlin." Croyé, who currently holds the title of CEO at JustWatch GmbH, had previously worked as the chief marketing officer at kaufDA, a European location-based mobile coupon and promotion service, and the background of other co-founders included time at the adtech company Trademob and the streaming site MyVideo. Startup capital for the website initially came from the founders themselves. Croyé in particular was able to reinvest funds he had obtained from the sale of kaufDA to Axel Springer, a European media company, in March 2011. Since 2015, the company has had at least one additional round of seed funding, with investors including venture capital groups CG Partners and STS Ventures.

    Read more →
  • AI-assisted virtualization software

    AI-assisted virtualization software

    AI-assisted virtualization software is a type of technology that combines the principles of virtualization with advanced artificial intelligence (AI) algorithms. This software is designed to improve efficiency and management of virtual environments and resources. This technology has been used in cloud computing and for various industries. == History == Virtualization originated in mainframe computers in the 1960s in order to divide system resources between different applications. The term has since broadened. The use of AI in virtualization significantly increased in the early 2020s. == Uses == AI-assisted virtualization software uses AI-related technology such as machine learning, deep learning, and neural networks to attempt to make more accurate predictions and decisions regarding the management of virtual environments. Features include intelligent automation, predictive analytics, and dynamic resource allocation. Intelligent Automation: Automating tasks such as resource provisioning and routine maintenance. The AI learns from ongoing operations and can predict and perform necessary tasks autonomously. Predictive Analytics: Utilizing AI to analyze data patterns and trends, predicting future issues or resource requirements. It aids in proactive management and mitigation of potential problems. Dynamic Resource Allocation: Through the analysis of real-time and historical data, the AI system dynamically assigns resources based on demand and need, optimizing overall system performance and reducing wastage. AI-assisted virtualization software has been used in cloud computing to optimize the use of resources and reduce costs. In healthcare, these technologies have been used to create virtual patient profiles. They are also used in data centers to improve performance and energy efficiency. It has also been used in network function virtualization (NFV) to improve virtual network infrastructure. Implementing this type of software requires a high degree of technological sophistication and can incur significant costs. There are also concerns about the risks associated with AI, such as algorithmic bias and security vulnerabilities. Additionally, there are issues related to governance, the ethics of artificial intelligence, and regulations of AI technologies.

    Read more →
  • Pattern language

    Pattern language

    A pattern language is an organized and coherent set of patterns, each of which describes a problem and the core of a solution that can be used in many ways within a specific field of expertise. The term was coined by architect Christopher Alexander and popularized by his 1977 book A Pattern Language. A pattern language can also be an attempt to express the deeper wisdom of what brings aliveness within a particular field of human endeavor, through a set of interconnected patterns. Aliveness is one placeholder term for "the quality that has no name": a sense of wholeness, spirit, or grace, that while of varying form, is precise and empirically verifiable. Alexander claims that ordinary people can use this design approach to successfully solve very large, complex design problems. == What is a pattern? == When a designer designs something – whether a house, computer program, or lamp – they must make many decisions about how to solve problems. A single problem is documented with its typical place (the syntax), and use (the grammar) with the most common and recognized good solution seen in the wild, like the examples seen in dictionaries. Each such entry is a single design pattern. Each pattern has a name, a descriptive entry, and some cross-references, much like a dictionary entry. A documented pattern should explain why that solution is good in the pattern's contexts. Elemental or universal patterns such as "door" or "partnership" are versatile ideals of design, either as found in experience or for use as components in practice, explicitly described as holistic resolutions of the forces in recurrent contexts and circumstances, whether in architecture, medicine, software development or governance, etc. Patterns might be invented or found and studied, such as the naturally occurring patterns of design that characterize human environments. Like all languages, a pattern language has vocabulary, syntax, and grammar – but a pattern language applies to some complex activity other than communication. In pattern languages for design, the parts break down in this way: The language description – the vocabulary – is a collection of named, described solutions to problems in a field of interest. These are called design patterns. So, for example, the language for architecture describes items like: settlements, buildings, rooms, windows, latches, etc. Each solution includes syntax, a description that shows where the solution fits in a larger, more comprehensive or more abstract design. This automatically links the solution into a web of other needed solutions. For example, rooms have ways to get light, and ways to get people in and out. The solution includes grammar that describes how the solution solves a problem or produces a benefit. So, if the benefit is unneeded, the solution is not used. Perhaps that part of the design can be left empty to save money or other resources; if people do not need to wait to enter a room, a simple doorway can replace a waiting room. In the language description, grammar and syntax cross index (often with a literal alphabetic index of pattern names) to other named solutions, so the designer can quickly think from one solution to related, needed solutions, and document them in a logical way. In Christopher Alexander's book A Pattern Language, the patterns are in decreasing order by size, with a separate alphabetic index. The web of relationships in the index of the language provides many paths through the design process. This simplifies the design work because designers can start the process from any part of the problem they understand and work toward the unknown parts. At the same time, if the pattern language has worked well for many projects, there is reason to believe that even a designer who does not completely understand the design problem at first will complete the design process, and the result will be usable. For example, skiers coming inside must shed snow and store equipment. The messy snow and boot cleaners should stay outside. The equipment needs care, so the racks should be inside. == Many patterns form a language == Just as words must have grammatical and semantic relationships to each other in order to make a spoken language useful, design patterns must be related to each other in position and utility order to form a pattern language. Christopher Alexander's work describes a process of decomposition, in which the designer has a problem (perhaps a commercial assignment), selects a solution, then discovers new, smaller problems resulting from the larger solution. Occasionally, the smaller problems have no solution, and a different larger solution must be selected. Eventually all of the remaining design problems are small enough or routine enough to be solved by improvisation by the builders, and the "design" is done. The actual organizational structure (hierarchical, iterative, etc.) is left to the discretion of the designer, depending on the problem. This explicitly lets a designer explore a design, starting from some small part. When this happens, it's common for a designer to realize that the problem is actually part of a larger solution. At this point, the design almost always becomes a better design. In the language, therefore, each pattern has to indicate its relationships to other patterns and to the language as a whole. This gives the designer using the language a great deal of guidance about the related problems that must be solved. The most difficult part of having an outside expert apply a pattern language is in fact to get a reliable, complete list of the problems to be solved. Of course, the people most familiar with the problems are the people that need a design. So, Alexander famously advocated on-site improvisation by concerned, empowered users, as a powerful way to form very workable large-scale initial solutions, maximizing the utility of a design, and minimizing the design rework. The desire to empower users of architecture was, in fact, what led Alexander to undertake a pattern language project for architecture in the first place. == Design problems in a context == An important aspect of design patterns is to identify and document the key ideas that make a good system different from a poor system (that may be a house, a computer program or an object of daily use), and to assist in the design of future systems. The idea expressed in a pattern should be general enough to be applied in very different systems within its context, but still specific enough to give constructive guidance. The range of situations in which the problems and solutions addressed in a pattern apply is called its context. An important part in each pattern is to describe this context. Examples can further illustrate how the pattern applies to very different situation. For instance, Alexander's pattern "A PLACE TO WAIT" addresses bus stops in the same way as waiting rooms in a surgery, while still proposing helpful and constructive solutions. The "Gang-of-Four" book Design Patterns by Gamma et al. proposes solutions that are independent of the programming language, and the program's application domain. Still, the problems and solutions described in a pattern can vary in their level of abstraction and generality on the one side, and specificity on the other side. In the end this depends on the author's preferences. However, even a very abstract pattern will usually contain examples that are, by nature, absolutely concrete and specific. Patterns can also vary in how far they are proven in the real world. Alexander gives each pattern a rating by zero, one or two stars, indicating how well they are proven in real-world examples. It is generally claimed that all patterns need at least some existing real-world examples. It is, however, conceivable to document yet unimplemented ideas in a pattern-like format. The patterns in Alexander's book also vary in their level of scale – some describing how to build a town or neighbourhood, others dealing with individual buildings and the interior of rooms. Alexander sees the low-scale artifacts as constructive elements of the large-scale world, so they can be connected to a hierarchic network. === Balancing of forces === A pattern must characterize the problems that it is meant to solve, the context or situation where these problems arise, and the conditions under which the proposed solutions can be recommended. Often these problems arise from a conflict of different interests or "forces". A pattern emerges as a dialogue that will then help to balance the forces and finally make a decision. For instance, there could be a pattern suggesting a wireless telephone. The forces would be the need to communicate, and the need to get other things done at the same time (cooking, inspecting the bookshelf). A very specific pattern would be just "WIRELESS TELEPHONE". More general patterns would be "WIRELESS DEVICE" or "SECONDARY ACTIVITY", suggesting that a secondary activity (such as talking on t

    Read more →
  • Stockfish (chess)

    Stockfish (chess)

    Stockfish is a free and open-source chess engine, available for various desktop and mobile platforms. It can be used in chess software through the Universal Chess Interface. Stockfish has been one of the strongest chess engines in the world for several years. It has won all main events of the Top Chess Engine Championship (TCEC) and the Chess.com Computer Chess Championship (CCC) since 2020 and, as of May 2026, is the strongest CPU chess engine in the world with an estimated Elo rating of 3653 in a time control of 40/15 (15 minutes to make 40 moves), according to CCRL. The Stockfish engine was developed by Tord Romstad, Marco Costalba, and Joona Kiiski, and was derived from Glaurung, an open-source engine by Tord Romstad released in 2004. It is now being developed and maintained by the Stockfish community. Stockfish historically used only a classical hand-crafted function to evaluate board positions, but with the introduction of the efficiently updatable neural network (NNUE) in August 2020, Stockfish 12 adopted a hybrid evaluation system that primarily used the neural network and occasionally relied on the hand-crafted evaluation. In July 2023, Stockfish removed the hand-crafted evaluation and transitioned to a fully neural network-based approach. == Features == Stockfish uses a tree-search algorithm based on alpha–beta search with several hand-designed heuristics. Stockfish represents positions using bitboards. Stockfish supports Chess960, a feature it inherited from Glaurung. Support for Syzygy tablebases, previously available in a fork maintained by Ronald de Man, was integrated into Stockfish in 2014. In 2018, support for the 7-man Syzygy was added, shortly after the tablebase was made available. Stockfish supports an unlimited number of CPU threads in multiprocessor systems, with a maximum transposition table size of 32 TB. Stockfish has been a very popular engine on various platforms. On desktop, it is the default chess engine bundled with the Internet Chess Club interface programs BlitzIn and Dasher. On mobile, it has been bundled with the Stockfish app, SmallFish and Droidfish. Other Stockfish-compatible graphical user interfaces (GUIs) include Fritz, Arena, Stockfish for Mac, and PyChess. Stockfish can be compiled to WebAssembly or JavaScript, allowing it to run in the browser. Both Chess.com and Lichess provide Stockfish in this form in addition to a server-side program. Release versions and development versions are available as C++ source code and as precompiled versions for Microsoft Windows, macOS, Linux 32-bit/64-bit and Android. == History == The program originated from Glaurung, an open-source chess engine created by Tord Romstad and first released in 2004. Four years later, Marco Costalba forked the project, naming it Stockfish because it was "produced in Norway and cooked in Italy" (Romstad is Norwegian and Costalba is Italian). The first version, Stockfish 1.0, was released in November 2008. For a while, new ideas and code changes were transferred between the two programs in both directions, until Romstad decided to discontinue Glaurung in favor of Stockfish, which was the stronger engine at the time. The last Glaurung version (2.2) was released in December 2008. Around 2011, Romstad decided to abandon his involvement with Stockfish in order to spend more time on his new iOS chess app. On 18 June 2014 Marco Costalba announced that he had "decided to step down as Stockfish maintainer" and asked that the community create a fork of the current version and continue its development. An official repository, managed by a volunteer group of core Stockfish developers, was created soon after and currently manages the development of the project. === Fishtest === Since 2013, Stockfish has been developed using a distributed testing framework named Fishtest, where volunteers can donate CPU time for testing improvements to the program. Changes to game-playing code are accepted or rejected based on results of playing of tens of thousands of games on the framework against an older "reference" version of the program, using sequential probability ratio testing. Tests on the framework are verified using the chi-squared test, and only if the results are statistically significant are they deemed reliable and used to revise the software code. After the inception of Fishtest, Stockfish gained 120 Elo points in 12 months, propelling it to the top of all major rating lists. As of May 2026, the framework has used a total of more than 20,100 years of CPU time to play over 10 billion chess games. === NNUE === In June 2020, Stockfish introduced the efficiently updatable neural network (NNUE) approach, based on earlier work by computer shogi programmers. Instead of using manually designed heuristics to evaluate the board, this approach introduced a neural network trained on millions of positions which could be evaluated quickly on CPU. On 2 September 2020, the twelfth version of Stockfish was released, incorporating NNUE, and reportedly winning ten times more game pairs than it loses when matched against version eleven. In July 2023, the classical evaluation was completely removed in favor of the NNUE evaluation. == Competition results == === Top Chess Engine Championship === Stockfish is a TCEC multiple-time champion and the current leader in trophy count. Ever since TCEC restarted in 2013, Stockfish has finished first or second in every season except one. Stockfish finished second in TCEC Season 4 and 5, with scores of 23–25 first against Houdini 3 and later against Komodo 1142 in the Superfinal event. Season 5 was notable for the winning Komodo team as they accepted the award posthumously for the program's creator Don Dailey, who succumbed to an illness during the final stage of the event. In his honor, the version of Stockfish that was released shortly after that season was named "Stockfish DD". On 30 May 2014, Stockfish 170514 (a development version of Stockfish 5 with tablebase support) convincingly won TCEC Season 6, scoring 35.5–28.5 against Komodo 7x in the Superfinal. Stockfish 5 was released the following day. In TCEC Season 7, Stockfish again made the Superfinal, but lost to Komodo with a score of 30.5–33.5. In TCEC Season 8, despite losses on time caused by buggy code, Stockfish nevertheless qualified once more for the Superfinal, but lost 46.5–53.5 to Komodo. In Season 9, Stockfish defeated Houdini 5 with a score of 54.5–45.5. Stockfish finished third during season 10 of TCEC, the only season since 2013 in which Stockfish had failed to qualify for the superfinal. It did not lose a game but was still eliminated because it was unable to score enough wins against lower-rated engines. After this technical elimination, Stockfish went on a long winning streak, winning seasons 11 (59–41 against Houdini 6.03), 12 (60–40 against Komodo 12.1.1), and 13 (55–45 against Komodo 2155.00) convincingly. In Season 14, Stockfish faced a new challenger in Leela Chess Zero, eking out a win by one point (50.5–49.5). Its winning streak was finally ended in Season 15, when Leela qualified again and won 53.5–46.5, but Stockfish promptly won Season 16, defeating AllieStein 54.5–45.5, after Leela failed to qualify for the Superfinal. In Season 17, Stockfish faced Leela again in the superfinal, losing 52.5–47.5. However, Stockfish has won every Superfinal since: beating Leela 53.5–46.5 in Season 18, 54.5–45.5 in Season 19, 53–47 in Season 20, and 56–44 in Season 21. In Season 22, Komodo Dragon beat out Leela to qualify for the Superfinal, losing to Stockfish by a large margin 59.5–40.5. Stockfish did not lose an opening pair in this match. Leela made the Superfinal in Seasons 23 and 24, but was crushed by Stockfish both times (58.5–41.5 and 58–42). In Season 25, Stockfish once again defeated Leela, but this time by a narrower margin of 52–48. Stockfish also took part in the TCEC cup, winning the first edition, but was surprisingly upset by Houdini in the semifinals of the second edition. Stockfish recovered to beat Komodo in the third-place playoff. In the third edition, Stockfish made it to the finals, but was defeated by Leela Chess Zero after blundering in a 7-man endgame tablebase draw. It turned this result around in the fourth edition, defeating Leela in the final 4.5–3.5. In TCEC Cup 6, Stockfish finished third after losing to AllieStein in the semifinals, the first time it had failed to make the finals. Since then, Stockfish has consistently won the tournament, with the exception of the 11th edition which Leela won 8.5–7.5. === Chess.com Computer Chess Championship === Ever since Chess.com hosted its first Chess.com Computer Chess Championship in 2018, Stockfish has been the most successful engine. It dominated the earlier championships, winning six consecutive titles before finishing second in CCC7. Since then, its dominance has come under threat from the neural-network engines Leelenstein and Leela Chess Zero, but it has continued to perform w

    Read more →
  • Unit of work

    Unit of work

    A unit of work is a behavioral pattern in software development. Martin Fowler has defined it as everything one does during a business transaction which can affect the database. When the unit of work is finished, it will provide everything that needs to be done to change the database as a result of the work. A unit of work encapsulates one or more code repositories[de] and a list of actions to be performed which are necessary for the successful implementation of self-contained and consistent data change. A unit of work is also responsible for handling concurrency issues, and can be used for transactions and stability patterns.[de]

    Read more →
  • Jan Leike

    Jan Leike

    Jan Leike (born 1986 or 1987) is an AI alignment researcher who has worked at DeepMind and OpenAI. He joined Anthropic in May 2024. == Education == Jan Leike obtained his undergraduate degree from the University of Freiburg in Germany. After earning a master's degree in computer science, he pursued a PhD in machine learning at the Australian National University under the supervision of Marcus Hutter. == Career == Leike made a six-month postdoctoral fellowship at the Future of Humanity Institute before joining DeepMind to focus on empirical AI safety research, where he collaborated with Shane Legg. === OpenAI === In 2021, Leike joined OpenAI. In June 2023, he and Ilya Sutskever became the co-leaders of the newly introduced "superalignment" project, which aimed to determine how to align future artificial superintelligences within four years to ensure their safety. This project involved automating AI alignment research using relatively advanced AI systems. At the time, Sutskever was OpenAI's Chief Scientist, and Leike was the Head of Alignment. Leike was featured in Time's list of the 100 most influential personalities in AI, both in 2023 and in 2024. In May 2024, Leike announced his resignation from OpenAI, following the departure of Sutskever, Daniel Kokotajlo and several other AI safety employees from the company. Leike wrote that "Over the past years, safety culture and processes have taken a backseat to shiny products", and that he "gradually lost trust" in OpenAI's leadership. In May 2024, Leike joined Anthropic, an AI company founded by former OpenAI employees.

    Read more →
  • Goal node (computer science)

    Goal node (computer science)

    In computer science, a goal node is a node in a graph that meets defined criteria for success or termination. Heuristical artificial intelligence algorithms, like A and B, attempt to reach such nodes in optimal time by defining the distance to the goal node. When the goal node is reached, A defines the distance to the goal node as 0 and all other nodes' distances as positive values.

    Read more →