AI Art Los Angeles

AI Art Los Angeles — independent reviews, comparisons, pricing and step-by-step guides on Aizhi.

  • Single-page application

    Single-page application

    A single-page application (SPA) is a web application or website that interacts with the user by dynamically rewriting the current web page with new data from the web server, instead of the default method of loading entire new pages. The goal is faster transitions that make the website feel more like a native app. In a SPA, a page refresh never occurs; instead, all necessary HTML, JavaScript, and CSS code is either retrieved by the browser with a single page load, or the appropriate resources are dynamically loaded and added to the page as necessary, usually in response to user actions. == History == The origins of the term single-page application are unclear, though the concept was discussed at least as early as 2003 by technology evangelists from Netscape. Stuart Morris, a programming student at Cardiff University, Wales, wrote the self-contained website at slashdotslash.com with the same goals and functions in April 2002, and later the same year Lucas Birdeau, Kevin Hakman, Michael Peachey and Clifford Yeh described a single-page application implementation in US patent 8,136,109. Earlier forms were called rich web applications. JavaScript can be used in a web browser to display the user interface (UI), run application logic, and communicate with a web server. Mature free libraries are available that support the building of a SPA, reducing the amount of JavaScript code developers have to write. == Technical approaches == There are various techniques available that enable the browser to retain a single page even when the application requires server communication. === Document hashes === HTML authors can leverage element IDs to show or hide different sections of the HTML document. Then, using CSS, authors can use the :target pseudo-class selector to only show the section of the page which the browser navigated to. === JavaScript frameworks === Web browser JavaScript frameworks and libraries, such as Angular, Ember.js, ExtJS, Knockout.js, Meteor.js, React, Vue.js, and Svelte have adopted SPA principles. Aside from ExtJS, all of these are free. AngularJS is a discontinued fully client-side framework. AngularJS's templating is based on bidirectional UI data binding. Data-binding is an automatic way of updating the view whenever the model changes, as well as updating the model whenever the view changes. The HTML template is compiled in the browser. The compilation step creates pure HTML, which the browser re-renders into the live view. The step is repeated for subsequent page views. In traditional server-side HTML programming, concepts such as controller and model interact within a server process to produce new HTML views. In the AngularJS framework, the controller and model states are maintained within the client browser. Therefore, new pages are capable of being generated without any interaction with a server. Angular 2+ is a SPA Framework developed by Google after AngularJS. There is a strong community of developers using this framework. The framework is updated twice every year. New features and fixes are frequently added in this framework. Ember.js is a client-side JavaScript web application framework based on the model–view–controller (MVC) software architectural pattern. It allows developers to create scalable single-page applications by incorporating common idioms and best practices into a framework that provides a rich object model, declarative two-way data binding, computed properties, automatically updating templates powered by Handlebars.js, and a router for managing application state. ExtJS is also a client side framework that allows creating MVC applications. It has its own event system, window and layout management, state management (stores) and various UI components (grids, dialog windows, form elements etc.). It has its own class system with either dynamic or static loader. The application built with ExtJS can either exist on its own (with state in the browser) or with the server (e.g. with REST API that is used to fill its internal stores). ExtJS has only built in capabilities to use localStorage so larger applications need a server to store state. Knockout.js is a client side framework which uses templates based on the Model-View-ViewModel pattern. Meteor.js is a full-stack (client-server) JavaScript framework designed exclusively for SPAs. It features simpler data binding than Angular, Ember or ReactJS, and uses the Distributed Data Protocol and a publish–subscribe pattern to automatically propagate data changes to clients in real-time without requiring the developer to write any synchronization code. Full stack reactivity ensures that all layers, from the database to the templates, update themselves automatically when necessary. Ecosystem packages such as Server Side Rendering address the problem of search engine optimization. React is a JavaScript library for building user interfaces. It is maintained by Facebook, Instagram and a community of individual developers and corporations. React uses a syntax extension for JavaScript, named JSX, which is a mix of JS and HTML (a subset of HTML). Several companies use React with Redux (JavaScript library) which adds state management capabilities, which (with several other libraries) lets developers create complex applications. Vue.js is a JavaScript framework for building user interfaces. Vue developers also provide Pinia for state management. Svelte is a framework for building user interfaces that compiles Svelte code to JavaScript DOM (Document Object Model) manipulations, avoiding the need to bundle a framework to the client, and allowing for simpler application development syntax. ==== Capabilities and trade-offs in modern frameworks ==== JavaScript-based web application frameworks, such as React and Vue, provide extensive capabilities but come with associated trade-offs. These frameworks often extend or enhance features available through native web technologies, such as routing, component-based development, and state management. While native web standards, including Web Components, modern JavaScript APIs like Fetch and ES Modules, and browser capabilities like Shadow DOM, have advanced significantly, frameworks remain widely used for their ability to enhance developer productivity, offer structured patterns for large-scale applications, simplify handling edge cases, and provide tools for performance optimization. Frameworks can introduce abstraction layers that may contribute to performance overhead, larger bundle sizes, and increased complexity. Modern frameworks, such as React 18 and Vue 3, address these challenges with features like concurrent rendering, tree-shaking, and selective hydration. While these advancements improve rendering efficiency and resource management, their benefits depend on the specific application and implementation context. Lightweight frameworks, such as Svelte and Preact, take different architectural approaches, with Svelte eliminating the virtual DOM entirely in favor of compiling components to efficient JavaScript code, and Preact offering a minimal, compatible alternative to React. Framework choice depends on an application’s requirements, including the team’s expertise, performance goals, and development priorities. A newer category of web frameworks, including enhance.dev, Astro, and Fresh, leverages native web standards while minimizing abstractions and development tooling. These solutions emphasize progressive enhancement, server-side rendering, and optimizing performance. Astro renders static HTML by default while hydrating only interactive parts. Fresh focuses on server-side rendering with zero runtime overhead. Enhance.dev prioritizes progressive enhancement patterns using Web Components. While these tools reduce reliance on client-side JavaScript by shifting logic to build-time or server-side execution, they still use JavaScript where necessary for interactivity. This approach makes them particularly suitable for performance-critical and content-focused applications. === WebAssembly-based frameworks === The following frameworks utilize WebAssembly or can build single-page applications (SPAs) with WebAssembly as a core technology or support mechanism. These frameworks enable high-performance and interactive client-side development, extending the SPA paradigm across languages and ecosystems. Avalonia is primarily a cross-platform desktop UI framework, but experimental support for WebAssembly allows it to be used for SPA development. It has an XAML-based UI design and native-style application features. Blazor WebAssembly is a .NET-based framework that allows developers to build SPAs using C# and Razor syntax. It runs .NET code in the browser via WebAssembly, enabling a full-stack .NET development experience without relying on JavaScript. Flutter on the Web extends Flutter’s cross-platform development capabilities to web-based SPAs. Using Dart and its Skia graphics engine, Flutter allows developers to create visually rich SPAs that

    Read more →
  • Fuzzy markup language

    Fuzzy markup language

    Fuzzy Markup Language (FML) is a specific purpose markup language based on XML, used for describing the structure and behavior of a fuzzy system independently of the hardware architecture devoted to host and run it. == Overview == FML was designed and developed by Giovanni Acampora during his Ph.D. course in Computer Science, at University of Salerno, Italy, in 2004. The original idea inspired Giovanni Acampora to create FML was the necessity of creating a cooperative fuzzy-based framework aimed at automatically controlling a living environment characterized by a plethora of heterogeneous devices whose interactions were devoted to maximize the human comfort under energy saving constraints. This framework represented one of the first concrete examples of Ambient Intelligence. Beyond this pioneering application, the major advantage of using XML to describe a fuzzy system is hardware/software interoperability. Indeed, all that is needed to read an FML file is the appropriate schema for that file, and an FML parser. This markup approach makes it much easier to exchange fuzzy systems between software: for example, a machine learning application could extract fuzzy rules which could then be read directly into a fuzzy inference engine or uploaded into a fuzzy controller. Also, with technologies like XSLT, it is possible to compile the FML into the programming language of your choice, ready for embedding into whatever application you please. As stated by Mike Watts on his popular Computational Intelligence blog: "Although Acampora's motivation for developing FML seems to be to develop embedded fuzzy controllers for ambient intelligence applications, FML could be a real boon for developers of fuzzy rule extraction algorithms: from my own experience during my PhD, I know that having to design a file format and implement the appropriate parsers for rule extraction and fuzzy inference engines can be a real pain, taking as much time as implementing the rule extraction algorithm itself. I would much rather have used something like FML for my work." A complete overview of FML and related applications can be found in the book titled On the power of Fuzzy Markup Language edited by Giovanni Acampora, Chang-Shing Lee, Vincenzo Loia and Mei-Hui Wang, and published by Springer in the series Studies on Fuzziness and Soft Computing. == Syntax, grammar and hardware synthesis == FML allows fuzzy systems to be coded through a collection of correlated semantic tags capable of modeling the different components of a classical fuzzy controller such as knowledge base, rule base, fuzzy variables and fuzzy rules. Therefore, the FML tags used to build a fuzzy controller represent the set of lexemes used to create fuzzy expressions. In order to design a well-formed XML-based language, an FML context-free grammar is defined by means of a XML schema which defines name, type and attributes characterized each XML element. However, since an FML program represents only a static view of a fuzzy logic controller, XSLT is provided to change this static view to a computable version. Indeed, XSLTs modules are able to convert the FML-based fuzzy controller in a general purpose computer language using an XSL file containing the translation description. At this level, the control is executable for the hardware. In short, FML is essentially composed by three layers: XML in order to create a new markup language for fuzzy logic control; a XML Schema in order to define the legal building blocks; eXtensible Stylesheet Language Transformations (XSLT) in order to convert a fuzzy controller description into a specific programming language. === Syntax === FML syntax is composed of XML tags and attributes which describe the different components of a fuzzy logic controller listed below: fuzzy knowledge base; fuzzy rule base; inference engine fuzzification subsystem; defuzzification subsystem. In detail, the opening tag of each FML program is which represents the fuzzy controller under modeling. This tag has two attributes: name and ip. The first attribute permits to specify the name of fuzzy controller and ip is used to define the location of controller in a computer network. The fuzzy knowledge base is defined by means of the tag which maintains the set of fuzzy concepts used to model the fuzzy rule base. In order to define the fuzzy concept related controlled system, tag uses a set of nested tags: defines the fuzzy concept; defines a linguistic term describing the fuzzy concept; a set of tags defining a shape of fuzzy sets are related to fuzzy terms. The attributes of tag are: name, scale, domainLeft, domainRight, type and, for only an output, accumulation, defuzzifier and defaultValue. The name attribute defines the name of fuzzy concept, for instance, temperature; scale is used to define the scale used to measure the fuzzy concept, for instance, Celsius degree; domainLeft and domainRight are used to model the universe of discourse of fuzzy concept, that is, the set of real values related to fuzzy concept, for instance [0°,40°] in the case of Celsius degree; the position of fuzzy concept into rule (consequent part or antecedent part) is defined by type attribute (input/output); accumulation attribute defines the method of accumulation that is a method that permits the combination of results of a variable of each rule in a final result; defuzzifier attribute defines the method used to execute the conversion from a fuzzy set, obtained after aggregation process, into a numerical value to give it in output to system; defaultValue attribute defines a real value used only when no rule has fired for the variable at issue. As for tag , it uses two attributes: name used to identify the linguistic value associate with fuzzy concept and complement, a boolean attribute that defines, if it is true, it is necessary to consider the complement of membership function defined by given parameters. Fuzzy shape tags, used to complete the definition of fuzzy concept, are: Every shaping tag uses a set of attributes which defines the real outline of corresponding fuzzy set. The number of these attributes depends on the chosen fuzzy set shape. In order to make an example, consider the Tipper Inference System described in Mathworks Matlab Fuzzy Logic Toolbox Tutorial. This Mamdani system is used to regulate the tipping in, for example, a restaurant. It has got two variables in input (food and service) and one in output (tip). FML code for modeling part of knowledge base of this fuzzy system containing variables food and tip is shown below. A special tag that can furthermore be used to define a fuzzy shape is . This tag is used to customize fuzzy shape (custom shape). The custom shape modeling is performed via a set of tags that lists the extreme points of geometric area defining the custom fuzzy shape. Obviously, the attributes used in tag are x and y coordinates. As for rule base component, FML allows to define a set of rule bases, each one of them describes a different behavior of system. The root of each rule base is modeled by tag which defines a fuzzy rule set. The tag uses five attributes: name, type, activationMethod, andMethod and orMethod. Obviously, the name attribute uniquely identifies the rule base. The type attribute permits to specify the kind of fuzzy controller (Mamdani or TSK) respect to the rule base at issue. The activationMethod attribute defines the method used to implication process; the andMethod and orMethod attribute define, respectively, the and and or algorithm to use by default. In order to define the single rule the tag is used. The attributes used by the tag are: name, connector, operator and weight. The name attribute permits to identify the rule; connector is used to define the logical operator used to connect the different clauses in antecedent part (and/or); operator defines the algorithm to use for chosen connector; weight defines the importance of rule during inference engine step. The definition of antecedent and consequent rule part is obtained by using and tags. tag is used to model the fuzzy clauses in antecedent and consequent part. This tag use the attribute modifier to describe a modification to term used in the clause. The possible values for this attribute are: above, below, extremely, intensify, more or less, norm, not, plus, slightly, somewhat, very, none. To complete the definition of fuzzy clause the nested and tags have to be used. A sequence of tags realizes a fuzzy rule base. As example, consider a Mamdani rule composed by (food is rancid) OR (servi

    Read more →
  • WebCrow

    WebCrow

    The WebCrow is a research project carried out at the Information Engineering Department of the University of Siena with the purpose of automatically solving crosswords. == The Project == The scientific relevance of the project can be understood considering that cracking crosswords requires human-level knowledge. Unlike chess and related games and there is no closed world configuration space. A first nucleus of technology, such as search engines, information retrieval, and machine learning techniques enable computers to enfold with semantics real-life concepts. The project is based on a software system whose major assumption is to attack crosswords making use of the Web as its primary source of knowledge. WebCrow is very fast and often thrashes human challengers in competitions, especially on multi language crossword schemes. A distinct feature of the WebCrow software system is to combine properly natural language processing (NLP) techniques, the Google web search engine, and constraint satisfaction algorithms from artificial intelligence to acquire knowledge and to fill the schema. The most important component of WebCrow is the Web Search Module (WSM), which implements a domain specific web based question answering algorithm. The way WebCrow approaches crosswords solving is quite different with respect to humans: Whereas we tend to first answer clues we are sure of and then proceed filling the schema by exploiting the already answered clues as hints, WebCrow uses two clearly distinct stages. In the first one, it processes all the clues and tries to answer them all: For each clue it finds many possible candidates and sorts them according to complex ranking models mainly based on a probability criteria. In the second stage, WebCrow uses constraint satisfaction algorithms to fill the grid with the overall most likely combination of clue answers. In order to interact with Google, first of all, WebCrow needs to compose queries on the basis of the given clues. This is done by query expansion, whose purpose is to convert the clue into a query expressed by a simplified and more appropriate language for Google. The retrieved documents are parsed so as to extract a list of word candidates that are congruent with the crossword length constraints. Crosswords can hardly be faced by using encyclopedic knowledge only, since many clues are wordplays or are otherwise purposefully very ambiguous. This enigmatic component of crosswords is faced by a massive use of database of solved crosswords, and by automatic reasoning on a properly organized knowledge base of wired rules. Last but not the least, the final constraint satisfaction step is very effective to fill the correct candidate, even though, unlike humans, the system can not rely on very high confidence on the correctness of the answer. == Competitions == WebCrow speed and effectiveness has been tested many times in man-machine competitions on Italian, English and multi-language crosswords The outcome of the tests is that WebCrow can successfully compete with average human players on single language schemes and reaches expert level performance in multi-language crosswords. However, WebCrow has not reached expert level in single-language crosswords, yet. === ECAI-06 Competition === On August 30, 2006, at the European Conference on Artificial Intelligence (ECAI2006), 25 conference attendees and 53 internet connected crosswords lovers, competed with WebCrow in an official challenge organized within the conference program. The challenge consisted in 5 different crosswords (2 in Italian, 2 in English and one multi-language in Italian and English) and 15 minutes were assigned for each crossword. WebCrow ranked 21 out of 74 participants in the Italian competition, and won both the bilingual and English competitions. === Other Competitions === Several competitions have been held in Florence, Italy within the Creativity Festival in December 2006, and another official conference competition took place in Hyderabad, India in January 2007, within the International Conference of Artificial Intelligence, where it ranked second out of 25 participants.

    Read more →
  • Generative literature

    Generative literature

    Generative literature is poetry or fiction that is automatically generated, often using computers. It is a genre of electronic literature, and also related to generative art. John Clark's Latin Verse Machine (1830–1843) is probably the first example of mechanised generative literature, while Christopher Strachey's love letter generator (1952) is the first digital example. With the large language models (LLMs) of the 2020s, generative literature is becoming increasingly common. == Definitions == Hannes Bajohr defines generative literature as literature involving "the automatic production of text according to predetermined parameters, usually following a combinatory, sometimes aleatory logic, and it emphasizes the production rather than the reception of the work (unlike, say, hypertext)." In his book Electronic Literature, Scott Rettberg connects generative literature to avant-garde literary movements like Dada, Surrealism, Oulipo and Fluxus. Bajohr argues that conceptual art is also an important reference. == Paradigms of generative literature == Bajohr describes two main paradigms of generative literature: the sequential paradigm, where the text generation is "executed as a sequence of rule-steps" and employs linear algorithms, and the connectionist paradigm, which is based on neural nets. The latter leads to what Bajohr calls a algorithmic empathy: "a non-anthropocentric empathy aimed not at the psychological states of the artists but at understanding the process of the work’s material production." == Poetry generation == The first examples of automated generative literature are poetry: John Clark's mechanical Latin Verse Machine (1830–1843) produced lines of hexameter verse in Latin, and Christopher Strachey's love letter generator (1952), programmed on the Manchester Mark 1 computer, generated short, satirical love letters. Examples of generative poetry using artificial neural networks include David Jhave Johnston's ReRites. == Narrative generation == Story generators have often followed specific narratological theories of how stories are constructed. An early example is Grimes' Fairy Tales, the "first to take a grammar-based approach and the first to operationalize Propp's famous model." Mike Sharples and Rafael Peréz y Peréz's book Story Machines gives a detailed history of story generation. Storyland by Nanette Wylde is an example of generative narrative. Jonathan Baillehache compares Storyland to Surrealist writing. Baillehache states, "When compared to earlier uses of chance operation in literature, a piece like this one resembles some of the automatic writings produced by André Breton and Philippe Soupault in their collective work The Magnetic Fields. . . The difference between Nanette Wylde’s Storyland and Breton and Soupault’s Magnetic Fields is that the former is produced according to a computational algorithm involving randomizers and user interaction, and the latter by two free-wheeling human subjects."

    Read more →
  • Nextcloud

    Nextcloud

    Nextcloud is a modular workspace platform designed to provide teams and businesses with a comprehensive environment for digital collaboration. Beyond central data management, it integrates office suites like Collabora Online and EuroOffice office suites. for seamless, cooperative workflows. The platform features built-in tools for chat, videoconferencing, and a privacy-focused AI assistant capable of running entirely on local LLMs. Supported by a rich ecosystem of apps, it can be hosted in the cloud or on premises and can scale up to millions of users. It has been translated into over 100 languages. == Features == Nextcloud files are stored in conventional directory structures, accessible via WebDAV if necessary. A SQLite, MySQL/MariaDB or PostgreSQL database is required to provide additional functionality like permissions, shares, and comments. Nextcloud can synchronize with local clients running Windows (Windows 8.1 and above), macOS (10.14 or later), Linux and FreeBSD. Nextcloud permits user and group administration locally or via different backends like OpenID or LDAP. Content can be shared inside the system by defining granular read/write permissions between users and groups. Nextcloud users can create public URLs when sharing files. Logging of file-related actions, as well as disallowing access based on file access rules is also available. Security options like brute-force protection and multi-factor authentication using TOTP, WebAuthn, Oauth2, and OpenID Connect are available. Nextcloud has planned new features such as monitoring capabilities, full-text search and Kerberos authentication, as well as audio/video conferencing, expanded federation and smaller user interface improvements. == History == In April 2016 Frank Karlitschek and most core contributors left ownCloud Inc. These included some of ownCloud's staff according to sources near to the ownCloud community. Karlitschek and many of these contributors went on to fork ownCloud, creating Nextcloud. The fork was preceded by a blog post of Karlitschek announcing his departure and raising questions about the management of the ownCloud, its community, and priorities between growth, money, and sustainability. There have been no official statements about the reason for the fork. However, Karlitschek mentioned the fork several times in a talk at the 2018 FOSDEM conference and in two appearances on the FLOSS Weekly podcast, emphasizing cultural mismatch between open source developers and business oriented people not used to the open source community. On June 2, within 12 hours of the announcement of the fork, the American entity "ownCloud Inc." announced that it is shutting down with immediate effect, stating that "[...] main lenders in the US have cancelled our credit. Following American law, we are forced to close the doors of ownCloud, Inc. with immediate effect and terminate the contracts of 8 employees." ownCloud Inc. accused Karlitschek of poaching developers, while Nextcloud developers such as Arthur Schiwon stated that he "decided to quit because not everything in the ownCloud Inc. company world evolved as I imagined". ownCloud GmbH continued operations, secured financing from new investors and took over the business of ownCloud Inc. In April 2018 Informationstechnikzentrum Bund (ITZBund) reported Nextcloud won the tender for "Bundescloud" (Germany government cloud) project. In August 2019 it was announced that the governments of France, Sweden and the Netherlands would use Nextcloud for file transfer. In January 2020 Nextcloud 18 "Nextcloud Hub" was released. The major change was direct integration with an Office suite (OnlyOffice) and Nextcloud announced that their goal was to compete with Office 365 and Google Docs. A partnership with Ionos was revealed – its hosting location in Germany and compliance with GDPR should support the goal of data sovereignty. In spring 2020 remote work and web conferencing usage increased due to the COVID-19 pandemic and Nextcloud released version 19 with chat and videoconferencing Talk app integrated into the application core. Communication with an optional "high performance back-end" allows self-hosting of web conferences with more than 10 participants. Collabora Online was introduced as another integrated office suite. In August 2021 Nextcloud was chosen as a collaboration platform for European cloud software GAIA-X. In a September 2021 European Commission report it was mentioned as "the most widely deployed Open Source content collaboration platform" Following the 2025 United States tariffs against the European Union, fear of overreliance on US cloud providers such as Microsoft 365 and Google Workspace increased, with Nextcloud being one of the foremost contenders to replace them. Some governmental organisations including the European Data Protection Supervisor and the German state of Schleswig-Holstein have since switched from Microsoft's Sharepoint to Nextcloud. According to Nextcloud, during the first 5 months of 2025, customer interest in the software had tripled.

    Read more →
  • BL (logic)

    BL (logic)

    In mathematical logic, basic fuzzy logic (or shortly BL), the logic of the continuous t-norms, is one of the t-norm fuzzy logics. It belongs to the broader class of substructural logics, or logics of residuated lattices; it extends the logic MTL of all left-continuous t-norms. == Syntax == === Language === The language of the propositional logic BL consists of countably many propositional variables and the following primitive logical connectives: Implication → {\displaystyle \rightarrow } (binary) Strong conjunction ⊗ {\displaystyle \otimes } (binary). The sign & is a more traditional notation for strong conjunction in the literature on fuzzy logic, while the notation ⊗ {\displaystyle \otimes } follows the tradition of substructural logics. Bottom ⊥ {\displaystyle \bot } (nullary — a propositional constant); 0 {\displaystyle 0} or 0 ¯ {\displaystyle {\overline {0}}} are common alternative signs and zero a common alternative name for the propositional constant (as the constants bottom and zero of substructural logics coincide in MTL). The following are the most common defined logical connectives: Weak conjunction ∧ {\displaystyle \wedge } (binary), also called lattice conjunction (as it is always realized by the lattice operation of meet in algebraic semantics). Unlike MTL and weaker substructural logics, weak conjunction is definable in BL as A ∧ B ≡ A ⊗ ( A → B ) {\displaystyle A\wedge B\equiv A\otimes (A\rightarrow B)} Negation ¬ {\displaystyle \neg } (unary), defined as ¬ A ≡ A → ⊥ {\displaystyle \neg A\equiv A\rightarrow \bot } Equivalence ↔ {\displaystyle \leftrightarrow } (binary), defined as A ↔ B ≡ ( A → B ) ∧ ( B → A ) {\displaystyle A\leftrightarrow B\equiv (A\rightarrow B)\wedge (B\rightarrow A)} As in MTL, the definition is equivalent to ( A → B ) ⊗ ( B → A ) . {\displaystyle (A\rightarrow B)\otimes (B\rightarrow A).} (Weak) disjunction ∨ {\displaystyle \vee } (binary), also called lattice disjunction (as it is always realized by the lattice operation of join in algebraic semantics), defined as A ∨ B ≡ ( ( A → B ) → B ) ∧ ( ( B → A ) → A ) {\displaystyle A\vee B\equiv ((A\rightarrow B)\rightarrow B)\wedge ((B\rightarrow A)\rightarrow A)} Top ⊤ {\displaystyle \top } (nullary), also called one and denoted by 1 {\displaystyle 1} or 1 ¯ {\displaystyle {\overline {1}}} (as the constants top and zero of substructural logics coincide in MTL), defined as ⊤ ≡ ⊥ → ⊥ {\displaystyle \top \equiv \bot \rightarrow \bot } Well-formed formulae of BL are defined as usual in propositional logics. In order to save parentheses, it is common to use the following order of precedence: Unary connectives (bind most closely) Binary connectives other than implication and equivalence Implication and equivalence (bind most loosely) === Axioms === A Hilbert-style deduction system for BL has been introduced by Petr Hájek (1998). Its single derivation rule is modus ponens: from A {\displaystyle A} and A → B {\displaystyle A\rightarrow B} derive B . {\displaystyle B.} The following are its axiom schemata: ( B L 1 ) : ( A → B ) → ( ( B → C ) → ( A → C ) ) ( B L 2 ) : A ⊗ B → A ( B L 3 ) : A ⊗ B → B ⊗ A ( B L 4 ) : A ⊗ ( A → B ) → B ⊗ ( B → A ) ( B L 5 a ) : ( A → ( B → C ) ) → ( A ⊗ B → C ) ( B L 5 b ) : ( A ⊗ B → C ) → ( A → ( B → C ) ) ( B L 6 ) : ( ( A → B ) → C ) → ( ( ( B → A ) → C ) → C ) ( B L 7 ) : ⊥ → A {\displaystyle {\begin{array}{ll}{\rm {(BL1)}}\colon &(A\rightarrow B)\rightarrow ((B\rightarrow C)\rightarrow (A\rightarrow C))\\{\rm {(BL2)}}\colon &A\otimes B\rightarrow A\\{\rm {(BL3)}}\colon &A\otimes B\rightarrow B\otimes A\\{\rm {(BL4)}}\colon &A\otimes (A\rightarrow B)\rightarrow B\otimes (B\rightarrow A)\\{\rm {(BL5a)}}\colon &(A\rightarrow (B\rightarrow C))\rightarrow (A\otimes B\rightarrow C)\\{\rm {(BL5b)}}\colon &(A\otimes B\rightarrow C)\rightarrow (A\rightarrow (B\rightarrow C))\\{\rm {(BL6)}}\colon &((A\rightarrow B)\rightarrow C)\rightarrow (((B\rightarrow A)\rightarrow C)\rightarrow C)\\{\rm {(BL7)}}\colon &\bot \rightarrow A\end{array}}} The axioms (BL2) and (BL3) of the original axiomatic system were shown to be redundant (Chvalovský, 2012) and (Cintula, 2005). All the other axioms were shown to be independent (Chvalovský, 2012). == Semantics == Like in other propositional t-norm fuzzy logics, algebraic semantics is predominantly used for BL, with three main classes of algebras with respect to which the logic is complete: General semantics, formed of all BL-algebras — that is, all algebras for which the logic is sound Linear semantics, formed of all linear BL-algebras — that is, all BL-algebras whose lattice order is linear Standard semantics, formed of all standard BL-algebras — that is, all BL-algebras whose lattice reduct is the real unit interval [0, 1] with the usual order; they are uniquely determined by the function that interprets strong conjunction, which can be any continuous t-norm.

    Read more →
  • Argument mining

    Argument mining

    Argument mining, or argumentation mining, is a research area within the natural language processing field. The goal of argument mining is the automatic extraction and identification of argumentative structures from natural language text with the aid of computer programs. Such argumentative structures include the premise, conclusions, the argument scheme and the relationship between the main and subsidiary argument, or the main and counter-argument within discourse. The Argument Mining workshop series is the main research forum for argument mining related research. == Applications == Argument mining has been applied in many different genres including the qualitative assessment of social media content (e.g. Twitter, Facebook), where it provides a powerful tool for policy-makers and researchers in social and political sciences. Other domains include legal documents, product reviews, scientific articles, online debates, newspaper articles and dialogical domains. Transfer learning approaches have been successfully used to combine the different domains into a domain agnostic argumentation model. Argument mining has been used to provide students individual writing support by accessing and visualizing the argumentation discourse in their texts. The application of argument mining in a user-centered learning tool helped students to improve their argumentation skills significantly compared to traditional argumentation learning applications. == Challenges == Given the wide variety of text genres and the different research perspectives and approaches, it has been difficult to reach a common and objective evaluation scheme. Many annotated data sets have been proposed, with some gaining popularity, but a consensual data set is yet to be found. Annotating argumentative structures is a highly demanding task. There have been successful attempts to delegate such annotation tasks to the crowd but the process still requires a lot of effort and carries significant cost. Initial attempts to bypass this hurdle were made using the weak supervision approach.

    Read more →
  • Ordered weighted averaging

    Ordered weighted averaging

    In applied mathematics, specifically in fuzzy logic, the ordered weighted averaging (OWA) operators provide a parameterized class of mean type aggregation operators. They were introduced by Ronald R. Yager. Many notable mean operators such as the max, arithmetic average, median and min, are members of this class. They have been widely used in computational intelligence because of their ability to model linguistically expressed aggregation instructions. == Definition == An OWA operator of dimension n {\displaystyle \ n} is a mapping F : R n → R {\displaystyle F:\mathbb {R} ^{n}\rightarrow \mathbb {R} } that has an associated collection of weights W = [ w 1 , … , w n ] {\displaystyle \ W=[w_{1},\ldots ,w_{n}]} lying in the unit interval and summing to one and with F ( a 1 , … , a n ) = ∑ j = 1 n w j b j {\displaystyle F(a_{1},\ldots ,a_{n})=\sum _{j=1}^{n}w_{j}b_{j}} where b j {\displaystyle b_{j}} is the jth largest of the a i {\displaystyle a_{i}} . By choosing different W one can implement different aggregation operators. The OWA operator is a non-linear operator as a result of the process of determining the bj. == Notable OWA operators == F ( a 1 , … , a n ) = max ( a 1 , … , a n ) {\displaystyle \ F(a_{1},\ldots ,a_{n})=\max(a_{1},\ldots ,a_{n})} if w 1 = 1 {\displaystyle \ w_{1}=1} and w j = 0 {\displaystyle \ w_{j}=0} for j ≠ 1 {\displaystyle j\neq 1} F ( a 1 , … , a n ) = min ( a 1 , … , a n ) {\displaystyle \ F(a_{1},\ldots ,a_{n})=\min(a_{1},\ldots ,a_{n})} if w n = 1 {\displaystyle \ w_{n}=1} and w j = 0 {\displaystyle \ w_{j}=0} for j ≠ n {\displaystyle j\neq n} F ( a 1 , … , a n ) = a v e r a g e ( a 1 , … , a n ) {\displaystyle \ F(a_{1},\ldots ,a_{n})=\mathrm {average} (a_{1},\ldots ,a_{n})} if w j = 1 n {\displaystyle \ w_{j}={\frac {1}{n}}} for all j ∈ [ 1 , n ] {\displaystyle j\in [1,n]} == Properties == The OWA operator is a mean operator. It is bounded, monotonic, symmetric, and idempotent, as defined below. == Characterizing features == Two features have been used to characterize the OWA operators. The first is the attitudinal character, also called orness. This is defined as A − C ( W ) = 1 n − 1 ∑ j = 1 n ( n − j ) w j . {\displaystyle A-C(W)={\frac {1}{n-1}}\sum _{j=1}^{n}(n-j)w_{j}.} It is known that A − C ( W ) ∈ [ 0 , 1 ] {\displaystyle A-C(W)\in [0,1]} . In addition A − C(max) = 1, A − C(ave) = A − C(med) = 0.5 and A − C(min) = 0. Thus the A − C goes from 1 to 0 as we go from Max to Min aggregation. The attitudinal character characterizes the similarity of aggregation to OR operation(OR is defined as the Max). The second feature is the dispersion. This defined as H ( W ) = − ∑ j = 1 n w j ln ⁡ ( w j ) . {\displaystyle H(W)=-\sum _{j=1}^{n}w_{j}\ln(w_{j}).} An alternative definition is E ( W ) = ∑ j = 1 n w j 2 . {\displaystyle E(W)=\sum _{j=1}^{n}w_{j}^{2}.} The dispersion characterizes how uniformly the arguments are being used. == Type-1 OWA aggregation operators == The above Yager's OWA operators are used to aggregate the crisp values. Can we aggregate fuzzy sets in the OWA mechanism? The Type-1 OWA operators have been proposed for this purpose. So the type-1 OWA operators provides us with a new technique for directly aggregating uncertain information with uncertain weights via OWA mechanism in soft decision making and data mining, where these uncertain objects are modelled by fuzzy sets. The type-1 OWA operator is defined according to the alpha-cuts of fuzzy sets as follows: Given the n linguistic weights { W i } i = 1 n {\displaystyle \left\{{W^{i}}\right\}_{i=1}^{n}} in the form of fuzzy sets defined on the domain of discourse U = [ 0 , 1 ] {\displaystyle U=[0,\;\;1]} , then for each α ∈ [ 0 , 1 ] {\displaystyle \alpha \in [0,\;1]} , an α {\displaystyle \alpha } -level type-1 OWA operator with α {\displaystyle \alpha } -level sets { W α i } i = 1 n {\displaystyle \left\{{W_{\alpha }^{i}}\right\}_{i=1}^{n}} to aggregate the α {\displaystyle \alpha } -cuts of fuzzy sets { A i } i = 1 n {\displaystyle \left\{{A^{i}}\right\}_{i=1}^{n}} is given as Φ α ( A α 1 , … , A α n ) = { ∑ i = 1 n w i a σ ( i ) ∑ i = 1 n w i | w i ∈ W α i , a i ∈ A α i , i = 1 , … , n } {\displaystyle \Phi _{\alpha }\left({A_{\alpha }^{1},\ldots ,A_{\alpha }^{n}}\right)=\left\{{{\frac {\sum \limits _{i=1}^{n}{w_{i}a_{\sigma (i)}}}{\sum \limits _{i=1}^{n}{w_{i}}}}\left|{w_{i}\in W_{\alpha }^{i},\;a_{i}}\right.\in A_{\alpha }^{i},\;i=1,\ldots ,n}\right\}} where W α i = { w | μ W i ( w ) ≥ α } , A α i = { x | μ A i ( x ) ≥ α } {\displaystyle W_{\alpha }^{i}=\{w|\mu _{W_{i}}(w)\geq \alpha \},A_{\alpha }^{i}=\{x|\mu _{A_{i}}(x)\geq \alpha \}} , and σ : { 1 , … , n } → { 1 , … , n } {\displaystyle \sigma :\{\;1,\ldots ,n\;\}\to \{\;1,\ldots ,n\;\}} is a permutation function such that a σ ( i ) ≥ a σ ( i + 1 ) , ∀ i = 1 , … , n − 1 {\displaystyle a_{\sigma (i)}\geq a_{\sigma (i+1)},\;\forall \;i=1,\ldots ,n-1} , i.e., a σ ( i ) {\displaystyle a_{\sigma (i)}} is the i {\displaystyle i} th largest element in the set { a 1 , … , a n } {\displaystyle \left\{{a_{1},\ldots ,a_{n}}\right\}} . The computation of the type-1 OWA output is implemented by computing the left end-points and right end-points of the intervals Φ α ( A α 1 , … , A α n ) {\displaystyle \Phi _{\alpha }\left({A_{\alpha }^{1},\ldots ,A_{\alpha }^{n}}\right)} : Φ α ( A α 1 , … , A α n ) − {\displaystyle \Phi _{\alpha }\left({A_{\alpha }^{1},\ldots ,A_{\alpha }^{n}}\right)_{-}} and Φ α ( A α 1 , … , A α n ) + , {\displaystyle \Phi _{\alpha }\left({A_{\alpha }^{1},\ldots ,A_{\alpha }^{n}}\right)_{+},} where A α i = [ A α − i , A α + i ] , W α i = [ W α − i , W α + i ] {\displaystyle A_{\alpha }^{i}=[A_{\alpha -}^{i},A_{\alpha +}^{i}],W_{\alpha }^{i}=[W_{\alpha -}^{i},W_{\alpha +}^{i}]} . Then membership function of resulting aggregation fuzzy set is: μ G ( x ) = ∨ α : x ∈ Φ α ( A α 1 , ⋯ , A α n ) α ⁡ α {\displaystyle \mu _{G}(x)=\mathop {\vee } _{\alpha :x\in \Phi _{\alpha }\left({A_{\alpha }^{1},\cdots ,A_{\alpha }^{n}}\right)_{\alpha }}\alpha } For the left end-points, we need to solve the following programming problem: Φ α ( A α 1 , ⋯ , A α n ) − = min W α − i ≤ w i ≤ W α + i A α − i ≤ a i ≤ A α + i ∑ i = 1 n w i a σ ( i ) / ∑ i = 1 n w i {\displaystyle \Phi _{\alpha }\left({A_{\alpha }^{1},\cdots ,A_{\alpha }^{n}}\right)_{-}=\min \limits _{\begin{array}{l}W_{\alpha -}^{i}\leq w_{i}\leq W_{\alpha +}^{i}A_{\alpha -}^{i}\leq a_{i}\leq A_{\alpha +}^{i}\end{array}}\sum \limits _{i=1}^{n}{w_{i}a_{\sigma (i)}/\sum \limits _{i=1}^{n}{w_{i}}}} while for the right end-points, we need to solve the following programming problem: Φ α ( A α 1 , ⋯ , A α n ) + = max W α − i ≤ w i ≤ W α + i A α − i ≤ a i ≤ A α + i ∑ i = 1 n w i a σ ( i ) / ∑ i = 1 n w i {\displaystyle \Phi _{\alpha }\left({A_{\alpha }^{1},\cdots ,A_{\alpha }^{n}}\right)_{+}=\max \limits _{\begin{array}{l}W_{\alpha -}^{i}\leq w_{i}\leq W_{\alpha +}^{i}A_{\alpha -}^{i}\leq a_{i}\leq A_{\alpha +}^{i}\end{array}}\sum \limits _{i=1}^{n}{w_{i}a_{\sigma (i)}/\sum \limits _{i=1}^{n}{w_{i}}}} Zhou et al. presented a fast method to solve two programming problem so that the type-1 OWA aggregation operation can be performed efficiently. == OWA for committee voting == Amanatidis, Barrot, Lang, Markakis and Ries present voting rules for multi-issue voting, based on OWA and the Hamming distance. Barrot, Lang and Yokoo study the manipulability of these rules.

    Read more →
  • Path tracing

    Path tracing

    Path tracing is a rendering algorithm in computer graphics that simulates how light interacts with objects and participating media to generate realistic (physically plausible) images. It is based on earlier, more limited, ray tracing algorithms. Path tracing is used to create photorealistic images for artistic purposes, and for applications such as architectural rendering and product design. It is also used to render frames for animated films, and visual effects for film and television. Because it can be very accurate and unbiased, it is commonly used to generate reference images when testing the quality of other rendering algorithms. The technique uses the Monte Carlo method to compute estimates of global illumination and simulate the ways different materials reflect (or scatter), transmit, absorb, and emit light. It can incorporate simple modeling of the effects of aperture and lens (depth of field, and bokeh) and shutter speed (motion blur), or more realistic simulation of the optical components in a camera. The algorithm works by describing illumination in a scene using the rendering equation, or light transport equation, and finding an approximate solution using Monte Carlo integration. An inefficient (but accurate) version of the algorithm can be very simple, and involves tracing a ray from the camera, allowing this ray to bounce in random directions as it hits different objects in the scene, and computing the amount of light transmitted along the path to the camera whenever the path encounters a light source. This process is repeated many times for each pixel (each repetition, with generated path and transmitted light, is called a sample), and the results are averaged. One main difference between this algorithm and standard ray tracing is that a single unbranching path is traced each time, while "Whitted-style" or "Cook-style" ray tracing recursively samples branching paths (e.g. when light is both reflected and refracted by a glass object). More practical versions incorporate improvements such as quasi-Monte Carlo methods (techniques that distribute samples more evenly), importance sampling (take more samples of paths that are likely to transport more light), and next event estimation (allow a very limited form of branching, and sample additional paths that connect to the lights more directly). Because path tracing uses random samples there is noise in the final image, which decreases as more samples are taken. Images commonly require many thousands of samples per pixel (spp) to reduce noise to an acceptable level, and denoising techniques (e.g. based on neural networks) are often used. Denoising is usually necessary when path tracing is used for real-time rendering in video games, because relatively few samples can be taken. Many alternative algorithms for path tracing have been developed, although they do not always outperform more straightforward implementations. These include bidirectional path tracing (which traces paths forwards from the light source as well as backwards from the camera), Metropolis light transport, and ways of combining path tracing with photon mapping. Video games often use biased versions of path tracing to improve performance (e.g. limiting the number of bounces in each path). A family of techniques called ReSTIR has been developed that can help real-time path tracing by sharing data between nearby pixels and consecutive frames. == History == Like all ray tracing methods, path tracing is based on ray casting, which Arthur Appel used for computer graphics rendering in the late 1960s. In 1980, John Turner Whitted published a recursive ray tracing algorithm that allows rendering images of scenes containing mirrored surfaces and refractive transparent objects. In 1984, Cook et al. described a form of ray tracing called distributed ray tracing, which uses Monte Carlo integration to render effects such as depth of field, motion blur, reflection from rough surfaces, and area lights. The same year, the radiosity method (not a ray tracing method) was published, which was the first physically based method for rendering diffuse global illumination. In 1986, Jim Kajiya published a paper exploring how to use distributed ray tracing to render physically-based global illumination, and this paper also introduced and named the method called "path tracing". Path tracing and other distributed ray tracing techniques were further refined in the late 1980s and early 1990s by researchers such as James Arvo and Peter Shirley, and by Greg Ward in the open source Radiance software. Despite being theoretically able to render any lighting, the original form of path tracing can sometimes be very inefficient (or noisy) for rendering light that is reflected or refracted before illuminating a visible surface, including diffuse global illumination where light enters an area through narrow gaps, because it traces paths only from the camera. To address this, variations of path tracing that trace paths from both the camera and from light sources, called bidirectional path tracing, were published in 1993 by Eric Lafortune and Yves Willems, and in 1997 by Eric Veach and Leonidas Guibas. In 1997 Veach and Guibas also published an alternative method called Metropolis light transport, which combines bidirectional path tracing with the Metropolis method. Veach's lengthy Ph.D. dissertation described both techniques, along with the theoretical background of path tracing; later, the book Physically Based Rendering (which won an Academy Award for Technical Achievement in 2014) helped to make information about path tracing more widely available. Path tracing requires tracing a large number of paths of light in order to produce an image with a visually acceptable amount of noise. This made path tracing very slow on computers available in the 1980s and 1990s, and noise remained a problem when trying to reproduce the style of earlier computer graphics animated films. Most animated films produced until around 2010, by studios such as Pixar, used rasterization-based rendering, with ray tracing used selectively for reflections (and later for precomputed or cached global illumination). However the speed of computers rapidly increased during the 1990s. Blue Sky Studios pioneered using Monte Carlo ray tracing for global illumination in animation, including in the 1998 short film "Bunny", but they did not disclose the precise techniques used. Path tracing gradually become more practical for film production in the early 2000s. The Arnold renderer, developed by Marcos Fajardo, was used by Sony Pictures Imageworks to produce the feature-length film Monster House, released in 2006. Pixar rewrote their RenderMan software to use path tracing, and released their first feature-length path-traced film Finding Dory in 2016. Although path tracing still had a large computational cost, animation studios discovered that less human labor was required when using it, for example because global illumination no longer needed to be faked by manually placing lights. The amount of noise present in path traced images still caused difficulties, particularly when rendering motion blur (which was used extensively by earlier animated films) but denoising techniques were developed to address this. New techniques were also needed for rendering hair and fur, and to handle the extremely large scenes sometimes required by films. Renderers such as Arnold, and Disney's Hyperion, originally only used CPUs for rendering, but as GPUs became more capable (and APIs such as CUDA, OpenCL, and OptiX were released) researchers and developers began adapting algorithms and implementations to use GPUs. GPUs can dramatically reduce rendering time: for example using a high-end GPU to accelerate portions of the rendering code can make it over 30 times faster than using only a high-end CPU. == Description == Kajiya's 1986 paper defined a recursive integral equation called the rendering equation, which describes a simplified form of light transport. Using Monte Carlo integration for the integral on the right side of the equation leads fairly directly to the path tracing algorithm: I ( x , x ′ ) = g ( x , x ′ ) [ ϵ ( x , x ′ ) + ∫ S ρ ( x , x ′ , x ″ ) I ( x ′ , x ″ ) d x ″ ] {\displaystyle I(x,x')=g(x,x')\left[\epsilon (x,x')+\int _{S}\rho (x,x',x'')I(x',x'')dx''\right]} This expresses I(x,x'), the light arriving at point x from point x', as the product of a geometry term, g(x,x'), which is 0 if there is something blocking the light between the two points and 1 otherwise, and the amount of light leaving point x' and traveling towards x. The light leaving point x' is the sum of the light emitted by the surface at x', and the integral of the light arriving at x' from all other points in the scene (the integration domain S) and being reflected towards x. The factor ρ(x,x',x''), which calculates how much light is reflected, must take into account the angles at which the light is arriving and leaving, and

    Read more →
  • 2023 Bilderberg Conference

    2023 Bilderberg Conference

    The 2023 Bilderberg Conference or Bilderberg Club was held between May 18–21, 2023 at the Pestana Palace hotel in Lisbon, Portugal. The 2023 meeting was the 69th edition of the event. A Bilderberg Group press release stated that there were approximately 130 participants from 23 countries. Established in 1954 by Prince Bernhard of the Netherlands, Bilderberg conferences (or meetings) are an annual private gathering of the European and North American political and business elite. Events are attended by between 120 and 150 people each year invited by the Bilderberg Group's steering committee; including prominent politicians, CEOs, national security experts, academics and journalists. The 2023 conference received some media attention due to the participation of several major players in the artificial intelligence space, such as OpenAI CEO Sam Altman, Microsoft CEO Satya Nadella, Google DeepMind chief Demis Hassabis and former Google CEO Eric Schmidt. Bilderberg conferences operate under Chatham House Rule, meaning that participants are cannot disclose the identity or affiliation of any particular speaker. There were no press conferences during or after the event, as is customary. According to The Guardian, the paper's journalists were able to approach one high-ranking attendee, economist Victor Halberstadt, in a Lisbon pharmacy, but he denied his identity before jumping into a car and heading back to his hotel. == Agenda == The key topics for discussion at the 2023 Bilderberg Conference were announced on the Bilderberg website shortly before the meeting. These topics included: == Participants == A list of 128 participants was published on the Bilderberg website. This list may not be complete, as a source connected to the Bilderberg group told The Daily Telegraph in 2013 that some attendees do not have their names publicized. Oscar Stenström, Sweden’s chief negotiator for NATO membership, was reported to have been seen at the venue despite his name not being on the list.

    Read more →
  • Polyworld

    Polyworld

    Polyworld is a cross-platform (Linux, Mac OS X) program written by Larry Yaeger to evolve Artificial Intelligence through natural selection and evolutionary algorithms. It uses the Qt graphics toolkit and OpenGL to display a graphical environment in which a population of trapezoid agents search for food, mate, have offspring, and prey on each other. The population is typically only in the hundreds, as each individual is rather complex and the environment consumes considerable computer resources. The graphical environment is necessary since the individuals actually move around the 2-D plane and must be able to "see." Since some basic abilities, like eating carcasses or randomly generated food, seeing other individuals, mating or fighting with them, etc., are possible, a number of interesting behaviours have been observed to spontaneously arise after prolonged evolution, such as cannibalism, predators and prey, and mimicry. Each individual makes decisions based on a neural net using Hebbian learning; the neural net is derived from each individual's genome. The genome does not merely specify the wiring of the neural nets, but also determines their size, speed, color, mutation rate and a number of other factors. The genome is randomly mutated at a set probability, which are also changed in descendant organisms.

    Read more →
  • AAAI Conference on Artificial Intelligence

    AAAI Conference on Artificial Intelligence

    The AAAI Conference on Artificial Intelligence is a leading international academic conference in artificial intelligence held annually. It ranks 4th in terms of H5 Index in Google Scholar's list of top AI publications, after ICLR, NeurIPS, and ICML. It is supported by the Association for the Advancement of Artificial Intelligence (AAAI), after which it is named. Precise dates vary from year to year, but paper submissions are generally due at the end of August to beginning of September, and the conference is generally held during the following February. The first AAAI was held in 1980 at Stanford University, Stanford California. During AAAI-20 conference, AI pioneers and 2018 Turing Award winners (often referred to as the Nobel Prize of Computing) Yann LeCun and Yoshua Bengio, among eight other researchers, were honored as the AAAI 2020 Fellows. Along with other conferences such as NeurIPS and ICML, AAAI uses an artificial-intelligence algorithm to assign papers to reviewers. == Sponsors == Many leading technology companies, including Google, Microsoft, Amazon (company), IBM, Baidu, Bytedance, and Huawei, generously sponsor and participate in AAAI to publish and showcase their latest theoretical and applied research. Sponsoring companies also actively recruit AI talents at the conference. == Locations == AAAI-2026 Singapore Expo, Singapore AAAI-2025 Pennsylvania Convention Center, Philadelphia, Pennsylvania, United States AAAI-2024 Vancouver Convention Centre, Vancouver, British Columbia, Canada AAAI-2023 Washington Convention Center, Washington, D.C., United States AAAI-2022 Virtual Conference AAAI-2021 Virtual Conference AAAI-2020 Hilton New York Midtown, New York, New York, United States AAAI-2019 Hilton Hawaiian Village, Honolulu, Hawaii, United States AAAI-2018 Hilton New Orleans Riverside, New Orleans, Louisiana, United States AAAI-2017 San Francisco, California, United States AAAI-2016 Phoenix, Arizona, United States AAAI-2015 Austin, Texas, United States AAAI-2014 Québec Convention Center, Québec City, Québec, Canada AAAI-2013 Bellevue, Washington, United States AAAI-2012 Toronto, Ontario, Canada AAAI-2011 San Francisco, California, United States AAAI-2010 Westin Peachtree Plaza, Atlanta, Georgia, United States AAAI-2008 Chicago, Illinois, United States AAAI-2007 Toronto, Ontario, Canada AAAI-2006 Boston, Massachusetts, United States AAAI-2005 Pittsburgh, Pennsylvania, United States AAAI-2004 San Jose, California, United States AAAI-2002 Shaw conference center in Edmonton, Alberta, Canada AAAI-2000 Austin, Texas, United States AAAI-1999 Orlando, Florida, United States AAAI-1998 Madison, Wisconsin, United States AAAI-1997 Providence, Rhode Island, United States AAAI-1996 Portland, Oregon, United States AAAI-1994 Seattle, Washington, United States AAAI-1993 Washington Convention Center, Washington, D.C., United States AAAI-1992 San Jose Convention Center, San Jose, California, United States AAAI-1991 Anaheim Convention Center, Anaheim, California, United States AAAI-1990 Boston, Massachusetts, United States AAAI-1988 Saint Paul, Minnesota, United States AAAI-1987 Seattle, Washington, United States AAAI-1986 Philadelphia, Pennsylvania, United States AAAI-1984 University of Texas, Austin, Texas, United States AAAI-1983 Washington, D.C., United States AAAI-1982 Carnegie Mellon University and the University of Pittsburgh, Pittsburgh, Pennsylvania, United States AAAI-1980 Stanford, California, United States

    Read more →
  • Image stitching

    Image stitching

    Image stitching or photo stitching is the process of combining multiple photographic images with overlapping fields of view to produce a segmented panorama or high-resolution image. Commonly performed through the use of computer software, most approaches to image stitching require nearly exact overlaps between images and identical exposures to produce seamless results, although some stitching algorithms actually benefit from differently exposed images by doing high-dynamic-range imaging in regions of overlap. Some digital cameras can stitch their photos internally. == Applications == Image stitching is widely used in modern applications, such as the following: Document mosaicing Image stabilization feature in camcorders that use frame-rate image alignment High-resolution image mosaics in digital maps and satellite imagery Medical imaging Multiple-image super-resolution imaging Video stitching Object insertion == Process == The image stitching process can be divided into three main components: image registration, calibration, and blending. === Image stitching algorithms === In order to estimate image alignment, algorithms are needed to determine the appropriate mathematical model relating pixel coordinates in one image to pixel coordinates in another. Algorithms that combine direct pixel-to-pixel comparisons with gradient descent (and other optimization techniques) can be used to estimate these parameters. Distinctive features can be found in each image and then efficiently matched to rapidly establish correspondences between pairs of images. When multiple images exist in a panorama, techniques have been developed to compute a globally consistent set of alignments and to efficiently discover which images overlap one another. A final compositing surface onto which to warp or projectively transform and place all of the aligned images is needed, as are algorithms to seamlessly blend the overlapping images, even in the presence of parallax, lens distortion, scene motion, and exposure differences. === Image stitching issues === Since the illumination in two views cannot be guaranteed to be identical, stitching two images could create a visible seam. Other reasons for seams could be the background changing between two images for the same continuous foreground. Other major issues to deal with are the presence of parallax, lens distortion, scene motion, and exposure differences. In a non-ideal real-life case, the intensity varies across the whole scene, and so does the contrast and intensity across frames. Additionally, the aspect ratio of a panorama image needs to be taken into account to create a visually pleasing composite. For panoramic stitching, the ideal set of images will have a reasonable amount of overlap (at least 15–30%) to overcome lens distortion and have enough detectable features. The set of images will have consistent exposure between frames to minimize the probability of seams occurring. === Keypoint detection === Feature detection is necessary to automatically find correspondences between images. Robust correspondences are required in order to estimate the necessary transformation to align an image with the image it is being composited on. Corners, blobs, Harris corners, and differences of Gaussians of Harris corners are good features since they are repeatable and distinct. One of the first operators for interest point detection was developed by Hans Moravec in 1977 for his research involving the automatic navigation of a robot through a clustered environment. Moravec also defined the concept of "points of interest" in an image and concluded these interest points could be used to find matching regions in different images. The Moravec operator is considered to be a corner detector because it defines interest points as points where there are large intensity variations in all directions. This often is the case at corners. However, Moravec was not specifically interested in finding corners, just distinct regions in an image that could be used to register consecutive image frames. Harris and Stephens improved upon Moravec's corner detector by considering the differential of the corner score with respect to direction directly. They needed it as a processing step to build interpretations of a robot's environment based on image sequences. Like Moravec, they needed a method to match corresponding points in consecutive image frames, but were interested in tracking both corners and edges between frames. SIFT and SURF are recent key-point or interest point detector algorithms but a point to note is that SURF is patented and its commercial usage restricted. Once a feature has been detected, a descriptor method like SIFT descriptor can be applied to later match them. === Registration === Image registration involves matching features in a set of images or using direct alignment methods to search for image alignments that minimize the sum of absolute differences between overlapping pixels. When using direct alignment methods one might first calibrate one's images to get better results. Additionally, users may input a rough model of the panorama to help the feature matching stage, so that e.g. only neighboring images are searched for matching features. Since there are smaller group of features for matching, the result of the search is more accurate and execution of the comparison is faster. To estimate a robust model from the data, a common method used is known as RANSAC. The name RANSAC is an abbreviation for "RANdom SAmple Consensus". It is an iterative method for robust parameter estimation to fit mathematical models from sets of observed data points which may contain outliers. The algorithm is non-deterministic in the sense that it produces a reasonable result only with a certain probability, with this probability increasing as more iterations are performed. It being a probabilistic method means that different results will be obtained for every time the algorithm is run. The RANSAC algorithm has found many applications in computer vision, including the simultaneous solving of the correspondence problem and the estimation of the fundamental matrix related to a pair of stereo cameras. The basic assumption of the method is that the data consists of "inliers", i.e., data whose distribution can be explained by some mathematical model, and "outliers" which are data that do not fit the model. Outliers are considered points which come from noise, erroneous measurements, or simply incorrect data. For the problem of homography estimation, RANSAC works by trying to fit several models using some of the point pairs and then checking if the models were able to relate most of the points. The best model – the homography, which produces the highest number of correct matches – is then chosen as the answer for the problem; thus, if the ratio of number of outliers to data points is very low, the RANSAC outputs a decent model fitting the data. === Calibration === Image calibration aims to minimize differences between an ideal lens models and the camera-lens combination that was used, optical defects such as distortions, exposure differences between images, vignetting, camera response and chromatic aberrations. If feature detection methods were used to register images and absolute positions of the features were recorded and saved, stitching software may use the data for geometric optimization of the images in addition to placing the images on the panosphere. Panotools and its various derivative programs use this method. ==== Alignment ==== Alignment may be necessary to transform an image to match the view point of the image it is being composited with. Alignment, in simple terms, is a change in the coordinates system so that it adopts a new coordinate system which outputs image matching the required viewpoint. The types of transformations an image may go through are pure translation, pure rotation, a similarity transform which includes translation, rotation and scaling of the image which needs to be transformed, Affine or projective transform. Projective transformation is the farthest an image can transform (in the set of two dimensional planar transformations), where only visible features that are preserved in the transformed image are straight lines whereas parallelism is maintained in an affine transform. Projective transformation can be mathematically described as x ′ = H ⋅ x , {\displaystyle x'=H\cdot x,} where x {\displaystyle x} is points in the old coordinate system, x ′ {\displaystyle x'} is the corresponding points in the transformed image and H {\displaystyle H} is the homography matrix. Expressing the points x {\displaystyle x} and x ′ {\displaystyle x'} using the camera intrinsics ( K {\displaystyle K} and K ′ {\displaystyle K'} ) and its rotation and translation [ R t ] {\displaystyle [R\,t]} to the real-world coordinates X {\displaystyle X} and < m a t h > x {\displaystyle x} and x ′ {\displaystyle x'} ', we get Using the abo

    Read more →
  • Argument technology

    Argument technology

    Argument technology is a sub-field of collective intelligence and artificial intelligence that focuses on applying computational techniques to the creation, identification, analysis, navigation, evaluation and visualisation of arguments and debates. In the 1980s and 1990s, philosophical theories of arguments in general, and argumentation theory in particular, were leveraged to handle key computational challenges, such as modeling non-monotonic and defeasible reasoning and designing robust coordination protocols for multi-agent systems. At the same time, mechanisms for computing semantics of Argumentation frameworks were introduced as a way of providing a calculus of opposition for computing what it is reasonable to believe in the context of conflicting arguments. With these foundations in place, the area was kick-started by a workshop held in the Scottish Highlands in 2000, the result of which was a book coauthored by philosophers of argument, rhetoricians, legal scholars and AI researchers. Since then, the area has been supported by various dedicated events such as the International Workshop on Computational Models of Natural Argument (CMNA) which has run annually since 2001; the International Workshop on Argument in Multi Agent Systems (ArgMAS) annually since 2004; the Workshop on Argument Mining, annually since 2014, and the Conference on Computational Models of Argument (COMMA), biennially since 2006. Since 2010, the field has also had its own journal, Argument & Computation, which was published by Taylor & Francis until 2016 and since then by IOS Press. One of the challenges that argument technology faced was a lack of standardisation in the representation and underlying conception of argument in machine readable terms. Many different software tools for manual argument analysis, in particular, developed idiosyncratic and ad hoc ways of representing arguments which reflected differing underlying ways of conceiving of argumentative structure. This lack of standardisation also meant that there was no interchange between tools or between research projects, and little re-use of data resources that were often expensive to create. To tackle this problem, the Argument Interchange Format set out to establish a common standard that captured the minimal common features of argumentation which could then be extended in different settings. Since about 2018, argument technology has been growing rapidly, with, for example, IBM's Grand Challenge, Project Debater, results for which were published in Nature in March 2021; German research funder, DFG's nationwide research programme on Robust Argumentation Machines, RATIO, begun in 2019; and UK nationwide deployment of The Evidence Toolkit by the BBC in 2019. A 2021 video narrated by Stephen Fry provides a summary of the societal motivations for work in argument technology. Argument technology has applications in a variety of domains, including education, healthcare, policy making, political science, intelligence analysis and risk management and has a variety of sub-fields, methodologies and technologies. == Technologies == === Argument assistant === An argument assistant is a software tool which support users when writing arguments. Argument assistants can help users compose content, review content from one other, including in dialogical contexts. In addition to Web services, such functionalities can be provided through the plugin architectures of word processor software or those of Web browsers. Internet forums, for instance, can be greatly enhanced by such software tools and services. === Argument blogging === ArguBlogging is software which allows its users to select portions of hypertext on webpages in their Web browsers and to agree or disagree with the selected content, posting their arguments to their blogs with linked argument data. It is implemented as a bookmarklet, adding functionality to Web browsers and interoperating with blogging platforms such as Blogger and Tumblr. === Argument mapping === Argument maps are visual, diagrammatic representations of arguments. Such visual diagrams facilitate diagrammatic reasoning and promote one's ability to grasp and to make sense of information rapidly and readily. Argument maps can provide structured, semi-formal frameworks for representing arguments using interactive visual language. One avenue of research and development is the design of online platforms to leverage collective intelligence to populate such maps and to integrate data, optimize and assess arguments. === Argument mining === Argument mining, or argumentation mining, is a research area within the natural language processing field. The goal of argument mining is the automatic extraction and identification of argumentative structures from natural language text with the aid of computer programs. === Argument search === An argument search engine is a search engine that is given a topic as a user query and returns a list of arguments for and against the topic or about that topic. Such engines could be used to support informed decision-making or to help debaters prepare for debates. === Automated argumentative essay scoring === The goal of automated argumentative essay scoring systems is to assist students in improving their writing skills by measuring the quality of their argumentative content. === Debate technology === Debate technology focuses on human-machine interaction and in particular providing systems that support, monitor and engage in debate. One of the most high-profile examples of debating technology is IBM's Project Debater which combines scripted communication with very large-scale processing of news articles to identify and construct arguments on the fly in a competitive debating setting. Debating technology also encompasses tools aimed at providing insight into debates, typically using techniques from data science. These analytics have been developed in both academic and commercial settings. === Decision support system === Argument technology can reduce both individual and group biases and facilitate more accurate decisions. Argument-based decision support systems do so by helping users to distinguish between claims and the evidence supporting them, and express their confidence in and evaluate the strength of evidence of competing claims. They have been used to improve predictions of housing market trends, risk analysis, ethical and legal decision making. ==== Ethical decision support system ==== An ethical decision support system is a decision support system which supports users in moral reasoning and decision-making. ==== Legal decision support system ==== A legal decision support system is a decision support system which supports users in legal reasoning and decision-making. === Explainable artificial intelligence === An explainable or transparent artificial intelligence system is an artificial intelligence system whose actions can be easily understood by humans. === Intelligent tutoring system === An intelligent tutoring system is a computer system that aims to provide immediate and customized instruction or feedback to learners, usually without requiring intervention from a human teacher. The intersection of argument technology and intelligent tutoring systems includes computer systems which aim to provide instruction in: critical thinking, argumentation, ethics, law, mathematics, and philosophy. === Legal expert system === A legal expert system is a domain-specific expert system that uses artificial intelligence to emulate the decision-making abilities of a human expert in the field of law. === Machine ethics === Machine ethics is a part of the ethics of artificial intelligence concerned with the moral behavior of artificially intelligent beings. As humans argue with respect to morality and moral behavior, argument can be envisioned as a component of machine ethics systems and moral reasoning components. === Proof assistant === In computer science and mathematical logic, a proof assistant or interactive theorem prover is a software tool to assist with the development of formal proofs by human-machine collaboration. This involves some sort of interactive proof editor, or other interface, with which a human can guide the search for proofs, the details of which are stored in, and some steps provided by, a computer. === Ethical considerations === Ethical considerations of argument technology include privacy, transparency, societal concerns, and diversity in representation. These factors cut across different levels such as technology, user interface design, user, service context, and society. There is concern about unethical misuse for "generating arguments on controversial topics with specific stances and deploying them on social platforms". Another issue may concern the design of conclusion-making algorithms, such as e.g. enabling such to conclude that certain key data is needed instead of only making lists of best-fit conclusions or enabling the generation of multi

    Read more →
  • Imagen (text-to-image model)

    Imagen (text-to-image model)

    Imagen is a series of text-to-image models developed by Google DeepMind. They were developed by Google Brain until the company's merger with DeepMind in April 2023. Imagen is primarily used to generate images from text prompts, similar to Stability AI's Stable Diffusion, OpenAI's DALL-E, or Midjourney. The original version of the model was first discussed in a paper from May 2022. The tool produces high-quality images and is available to all users with a Google account through services including Gemini, ImageFX, and Vertex AI. == History == Imagen's original version was first presented in a paper published in May 2022. It featured the ability to generate high-fidelity images from natural language. The second version, Imagen 2 was released in December 2023. The standout feature was text and logo generation. Imagen 3 was released in August 2024. Google claims that the newest version provides better detail and lighting on generated images. On 20 May 2025 at Google I/O 2025 the company released an improved model, Imagen 4. == Technology == Imagen uses two key technologies. The first is the use of transformer-based large language models, notably T5, to understand text and subsequently encode text for image synthesis. The second is the use of cascaded diffusion models providing high-fidelity image generation. Imagen generates image in three stages, starting from a base of 64x64, then upsampled to 256x256 and 1024x1024. Imagen 4 generates image up to 2k. == Capabilities == Imagen can generate photorealistic images from text prompts. It can also create various styles, such as cinematic, 35mm film, illustration, and surreal. Like most text-to-image generative AI models, Imagen has difficulty rendering human fingers, text, ambigrams and other forms of typography. The model can generate images in five aspect ratios, namely 9:16, 3:4, 1:1, 4:3, and 16:9. Imagen can also refine already generated images by editing existing text prompts.

    Read more →