AI App Picture

AI App Picture — independent reviews, comparisons, pricing and step-by-step guides on Aizhi.

  • Language resource

    Language resource

    In linguistics and language technology, a language resource is a "[composition] of linguistic material used in the construction, improvement and/or evaluation of language processing applications, (...) in language and language-mediated research studies and applications." According to Bird & Simons (2003), this includes data, i.e. "any information that documents or describes a language, such as a published monograph, a computer data file, or even a shoebox full of handwritten index cards. The information could range in content from unanalyzed sound recordings to fully transcribed and annotated texts to a complete descriptive grammar", tools, i.e., "computational resources that facilitate creating, viewing, querying, or otherwise using language data", and advice, i.e., "any information about what data sources are reliable, what tools are appropriate in a given situation, what practices to follow when creating new data". The latter aspect is usually referred to as "best practices" or "(community) standards". In a narrower sense, language resource is specifically applied to resources that are available in digital form, and then, "encompassing (a) data sets (textual, multimodal/multimedia and lexical data, grammars, language models, etc.) in machine readable form, and (b) tools/technologies/services used for their processing and management". == Typology == As of May 2020, no widely used standard typology of language resources has been established (current proposals include the LREMap, METASHARE, and, for data, the LLOD classification). Important classes of language resources include data lexical resources, e.g., machine-readable dictionaries, linguistic corpora, i.e., digital collections of natural language data, linguistic data bases such as the Cross-Linguistic Linked Data collection, tools linguistic annotations and tools for creating such annotations in a manual or semiautomated fashion (e.g., tools for annotating interlinear glossed text such as Toolbox and FLEx, or other language documentation tools), applications for search and retrieval over such data (corpus management systems), for automated annotation (part-of-speech tagging, syntactic parsing, semantic parsing, etc.), metadata and vocabularies vocabularies, repositories of linguistic terminology and language metadata, e.g., MetaShare (for language resource metadata), the ISO 12620 data category registry (for linguistic features, data structures and annotations within a language resource), or the Glottolog database (identifiers for language varieties and bibliographical database). == Language resource publication, dissemination and creation == A major concern of the language resource community has been to develop infrastructures and platforms to present, discuss and disseminate language resources. Selected contributions in this regard include: a series of International Conferences on Language Resources and Evaluation (LREC), the European Language Resources Association (ELRA, EU-based), and the Linguistic Data Consortium (LDC, US-based), which represent commercial hosting and dissemination platforms for language resources, the Open Languages Archives Community (OLAC), which provides and aggregates language resource metadata, the Language Resources and Evaluation Journal (LREJ), the European Language Grid is a European platform for language technologies (eg services), data and resources. As for the development of standards and best practices for language resources, these are subject of several community groups and standardization efforts, including ISO Technical Committee 37: Terminology and other language and content resources (ISO/TC 37), developing standards for all aspects of language resources, W3C Community Group Best Practices for Multilingual Linked Open Data (BPMLOD), working on best practice recommendations for publishing language resources as Linked Data or in RDF, W3C Community Group Linked Data for Language Technology (LD4LT), working on linguistic annotations on the web and language resource metadata, W3C Community Group Ontology-Lexica (OntoLex), working on lexical resources, the Open Linguistics working group of the Open Knowledge Foundation, working on conventions for publishing and linking open language resources, developing the Linguistic Linked Open Data cloud, the Text Encoding Initiative (TEI), working on XML-based specifications for language resources and digitally edited text.

    Read more →
  • DARPA Grand Challenge

    DARPA Grand Challenge

    The DARPA Grand Challenge is a prize competition for American autonomous vehicles, funded by the Defense Advanced Research Projects Agency, the most prominent research organization of the United States Department of Defense. Congress has authorized DARPA to award cash prizes to further DARPA's mission to sponsor revolutionary, high-payoff research that bridges the gap between fundamental discoveries and military use. The initial DARPA Grand Challenge in 2004 was created to spur the development of technologies needed to create the first fully autonomous ground vehicles capable of completing a substantial off-road course within a limited time. The third event, the DARPA Urban Challenge in 2007, extended the initial Challenge to autonomous operation in a mock urban environment. The 2012 DARPA Robotics Challenge, focused on autonomous emergency-maintenance robots, and new Challenges are still being conceived. The DARPA Subterranean Challenge was tasked with building robotic teams to autonomously map, navigate, and search subterranean environments. Such teams could be useful in exploring hazardous areas and in search and rescue. In addition to the challenges in autonomous technology, DARPA has also conducted prize competitions in other areas of technology. == History and background == Fully autonomous vehicles have been an international pursuit for many years, from endeavors in Japan (starting in 1977), Germany (Ernst Dickmanns and VaMP), Italy (the ARGO Project), the European Union (EUREKA Prometheus Project), the United States of America, and other countries. DARPA funded the development of the first fully autonomous robot beginning in 1966 with the Shakey the robot project at Stanford Research Institute, now SRI International. The first autonomous ground vehicle capable of driving on and off roads was developed by DARPA as part of the Strategic Computing Initiative beginning in 1984 leading to demonstrations of autonomous navigation by the Autonomous Land Vehicle and the Navlab. The Grand Challenge was the first long distance competition for driverless cars in the world; other research efforts in the field of driverless cars take a more traditional commercial or academic approach. The U.S. Congress authorized DARPA to offer prize money ($1 million) for the first Grand Challenge to facilitate robotic development, with the ultimate goal of making one-third of ground military forces autonomous by 2015. Following the 2004 event, Dr. Tony Tether, the director of DARPA, announced that the prize money had been increased to $2 million for the next event, which was claimed on October 9, 2005. The first, second and third places in the 2007 Urban Challenge received $2 million, $1 million, and $500,000, respectively. 14 new teams have qualified in year 2015. The competition was open to teams and organizations from around the world, as long as there was at least one U.S. citizen on the roster. Teams have participated from high schools, universities, businesses and other organizations. More than 100 teams registered in the first year, bringing a wide variety of technological skills to the race. In the second year, 195 teams from 36 U.S. states and 4 foreign countries entered the race. == 2004 Grand Challenge == The first competition of the DARPA Grand Challenge was held on March 13, 2004 in the Mojave Desert region of the United States, along a 150-mile (240 km) route that follows along the path of Interstate 15 from just before Barstow, California to just past the California–Nevada border in Primm. None of the robot vehicles finished the route. Carnegie Mellon University's Red Team and car Sandstorm (a converted Humvee) traveled the farthest distance, completing 11.78 km (7.32 mi) of the course before getting hung up on a rock after making a switchback turn. No winner was declared, and the cash prize was not given. Therefore, a second DARPA Grand Challenge event was scheduled for 2005. == 2005 Grand Challenge == The second competition of the DARPA Grand Challenge began at 6:40 am on October 8, 2005. All but one of the 23 finalists in the 2005 race surpassed the 11.78 km (7.32 mi) distance completed by the best vehicle in the 2004 race. Five vehicles successfully completed the 212 km (132 mi) course: Vehicles in the 2005 race passed through three narrow tunnels and negotiated more than 100 sharp left and right turns. The race concluded through Beer Bottle Pass, a winding mountain pass with a sheer drop-off on one side and a rock face on the other. Although the 2004 course required more elevation gain and some very sharp switchbacks (Daggett Ridge) were required near the beginning of the route, the course had far fewer curves and generally wider roads than the 2005 course. The natural rivalry between the teams from Stanford and Carnegie Mellon (Sebastian Thrun, head of the Stanford team was previously a faculty member at Carnegie Mellon and colleague of Red Whittaker, head of the CMU team) was played out during the race. Mechanical problems plagued H1ghlander before it was passed by Stanley. Gray Team's entry was a miracle in itself, as the team from the suburbs of New Orleans was caught in Hurricane Katrina a few short weeks before the race. The fifth finisher, Terramax, a 30,000 pound entry from Oshkosh Truck, finished on the second day. The huge truck spent the night idling on the course, but was particularly nimble in carefully picking its way down the narrow roads of Beer Bottle Pass. == 2007 Urban Challenge == The third competition of the DARPA Grand Challenge, known as the "Urban Challenge", took place on November 3, 2007 at the site of the now-closed George Air Force Base (currently used as Southern California Logistics Airport), in Victorville, California (Google map). The course involved a 96 km (60 mi) urban area course, to be completed in less than 6 hours. Rules included obeying all traffic regulations while negotiating with other traffic and obstacles and merging into traffic. Unlike previous challenges, the 2007 Urban Challenge organizers divided competitors into two "tracks", A and B. All Track A and Track B teams were part of the same competition circuit, but the teams chosen for the Track A program received US $1 million in funding. These 11 teams largely represented major universities and large corporate interests such as CMU teaming with GM as Tartan Racing, Stanford teaming with Volkswagen, Virginia Tech teaming with TORC Robotics as VictorTango, Oshkosh Truck, Honeywell, Raytheon, Caltech, Autonomous Solutions, Cornell University, and MIT. One of the few independent entries in Track A was the Golem Group. DARPA has not publicly explained the rationale behind the selection of Track A teams. Teams were given maps sparsely charting the waypoints that defined the competition courses. At least one team, Tartan Racing, enhanced the maps through the insertion of additional extrapolated waypoints for improved navigation. A debriefing paper published by Team Jefferson illustrates graphically the contrast between the course map it was given by DARPA and the course map used by Tartan Racing. Tartan Racing claimed the $2 million prize with their vehicle "Boss", a Chevy Tahoe. The second-place finisher earning the $1 million prize was the Stanford Racing Team with their entry "Junior", a 2006 Volkswagen Passat. Coming in third place was team VictorTango, winning the $500,000 prize with their 2005 Ford Escape hybrid, "Odin". MIT placed 4th, with Cornell University and University of Pennsylvania/Lehigh University also completing the course. The six teams that successfully finished the entire course: While the 2004 and 2005 events were more physically challenging for the vehicles, the robots operated in isolation and only encountered other vehicles on the course when attempting to pass. The Urban Challenge required designers to build vehicles able to obey all traffic laws while they detect and avoid other robots on the course. This is a particular challenge for vehicle software, as vehicles must make "intelligent" decisions in real time based on the actions of other vehicles. Other than previous autonomous vehicle efforts that focused on structured situations such as highway driving with little interaction between the vehicles, this competition operated in a more cluttered urban environment and required the cars to perform sophisticated interactions with each other, such as maintaining precedence at a 4-way stop intersection. == 2012 Robotics Challenge == The DARPA Robotics Challenge is an ongoing competition focusing on humanoid robotics. The primary goal of the program is to develop ground robotic capabilities to execute complex tasks in dangerous, degraded, human-engineered environments. It launched in October 2012, and hosted the Virtual Robotics Competition in June 2013. Two more competitions are planned: the DRC Trials in December 2013, and the DRC Finals in December 2014. Unlike prior Challenges, the construction of the "vehicles" w

    Read more →
  • Course of Action Display and Evaluation Tool

    Course of Action Display and Evaluation Tool

    Course of Action Display and Evaluation Tool (CADET) was a research program, and the eponymous prototype software system, that applied knowledge-based techniques of Artificial Intelligence to the problem of battle planning. CADET was also known as Course of Action Display and Elaboration Tool. It was considered an early example of such systems and was funded by the United States Army and by the Defense Advanced Research Projects Agency (DARPA). CADET influenced a later DARPA program called RAID which in turn produced a technology adopted by the United States Army and the United States Marine Corps. == History == The development of Course of Action Display and Evaluation Tool (CADET) began in 1996, at the Carnegie Group, Inc., Pittsburgh PA, funded under the Small Business Innovation Research (SBIR) program. The goal of the first phase SBIR project was to produce “...a live storyboard of [Course of Action] COA development, wargaming, animation, and assessment.” In 1997, the United States Army awarded the Carnegie Group Inc. $750K for SBIR Phase II. The intent was to develop “...a war-gaming modeling and analysis Decision Support System (DSS), … CADET will consist of a combination of Knowledge-Based and decision analytic tools and technologies to provide fast nimble COA war-gaming modeling, simulation, and animation under direct control of the commander and staff. ...Phase II will result in an operations prototype (OP) suitable for use and evaluation in field exercises.” In 2000, CADET was integrated and experimentally evaluated within the framework of the Integrated Course of Action Critiquing and Elaboration System (ICCES) experiment, conducted by the Battle Command Battle Laboratory – Leavenworth (BCBL-L) within the program Concept Experimentation Program (CEP) sponsored by TRADOC. In 2000-2002, DARPA applied CADET in the program titled Command Post of the Future (CPoF) as a tool to generate a course of action. Under the umbrella of the CPoF program, CADET was integrated with the FOX GA system to provide a detailed planner, coupled with COA generation capability. In the same period, Battle Command Battle Lab-Huachuca (BCBL-H) performed an integration CADET with the system called All Source Analysis System-Light (ASAS-L); here CADET was intended to generate plans for intelligence assets, and conduct wargames of different COAs, enemy versus friendly. From 1996 through 2002, work on CADET was performed by the Carnegie Group, Inc., and supported by funding from the US Army CECOM (CADET SBIR Phase I, CADET SBIR Phase II and CADET Enhancements); DARPA (Command Post of the Future); and TRADOC BCBL-H. == Operation == CADET was intended to be used by the staff of the United States Army Brigade, within the Military Decision Making Process (MDMP). In particular, CADET helped produce, automatically or semi-automatically, the products generated within the step of MDMP called Course of Action (COA) Development and the following step of MDMP called COA Analysis and Wargaming. CADET software resided on a laptop computer. Using the computer, the staff officers entered the input to CADET, or alternatively this input arrived at CADET from upstream computer systems. The input consisted of: Order of Battle, i.e., the units constituting the friendly brigade and the enemy units participating in the battle, and their various characteristics; primary activities of the Course of Action, where each activity is typically linked to one or more geographic areas or a route, and sometimes to a major unit executing the activity; digital map of the region where the battle was to take place, including the digital description of significant features such as locations of friendly and enemy units, roads, assembly areas, objectives, and axes of attacks. Taking this input, CADET automatically performed the following tasks (not sequentially): Planning and scheduling the low-level tasks necessary for a given COA Allocating tasks to various units and assets constituting the brigade Assigning suitable locations and routes Estimating the battle losses (attrition) of friendly and enemy forces, and consumption of resources (e.g., fuel and ammunition) Predicting enemy actions or reactions. CADET produced the following outputs: Synchronization matrix, directly editable and printable; synchronization matrix is a kind of Gantt chart that shows assignments of activities to units, to locations/routes and to time periods Map overlays in PPT or JPG formats Animation output XML formally-encoded plan Textual Operation Plan (OPLAN) draft E-mail messages with attachments: XML and text versions of OPLAN == Design == The core algorithm is a planning algorithm where CADET uses a knowledge-based approach of the hierarchical-task-network type. Each task class is associated with a model of more detailed subtasks that should be performed in order to accomplish the higher-level task. Algorithms selected (heuristically) a task and then decomposes it into subtasks. Although similar to hierarchical-task-network planning algorithm, CADET’s algorithm includes elements of adversarial reasoning. After adding a subtask, the algorithm uses rules to determine the enemy’s probable actions and reactions as well as friendly counteractions This approximated the action-reaction-counteraction technique of manual wargaming used by the United States Army. When a task involves movements of a unit, the algorithm performs routing, i.e., finds a route for the movement that minimizes the time required for the movement as well as exposure to the enemy attacks. Each added tasks (subtask) normally requires a unit which would execute the task, and a time period when the task would be executed. Therefore, when a certain number of subtasks is added by the planning process, the algorithm also performs the allocation of the newly added subtasks to units and to time periods (i.e., scheduling). allocation and scheduling of tasks relies on both domain-specific and constraint-guided heuristics. A tasks may also require expenditures of fuel and ammunition. If the tasks involves engagement with the enemy, the performing units will experience lossesof personnel and weapon systems (attrition). CADET’s algorithm includes estimates of consumption of different types of consumables, and also attrition. Depending on the degree of attrition and consumption, CADET adds tasks that are needed to refuel or reconstitute the units. The algorithm continually interleaves incremental steps of planning, routing, scheduling, and attrition and consumption estimates. == Evaluation == Two evaluation experiments are described in literature. The first experiment called ICCES took three days. The subjects were Army officers from combat arms branches, with 11 to 23 years of active service, in the ranks of majors and lieutenant colonels, a total of 8. Each officer was given 4 hours of training learning to operate CADET and related computer tools. Officers were divided into two groups and given a tactical scenario. One group (the control group) used the traditional, manual process; the other used the system called ICCES, the automated core of which was CADET. Each group produced three COA sketches and statements and one COA synchronization matrix. Then, the experiment was repeated with another scenario but the control group became the automated group and vice versa. The users were generally satisfied with the quality of the ICCES-generated products. The group using ICCES made only a few changes to the product that was automatically generated, indicating that they agreed with the majority of the plan that ICCES produced. The second experiment was reminiscent of Turing test. The experiment involved one user, nine judges (active-duty officers, mainly colonels and lieutenant colonels), and five scenarios obtained from several US Army exercises. For each scenario, experimenters obtained synchronization matrices that were produced in earlier exercises, typically by a team of four to five officers in three to four hours, spending approximately 16 person-hours in total. Using these scenarios and COAs, the user had CADET generate automatically detailed plans and express them as synchronization matrices. The user, a retired US Army officer, reviewed and slightly edited the matrices. The entire process took less than two minutes of computations by and approximately 20 minutes of review and post-editing, approximately 0.4 person-hour in total per product. The experimenters gave the resulting matrices the same visual style as those produced by humans. The judges, who did not know whether a planning product was a traditional product of humans, or with computerized aids, were asked to grade the products. The result was that the average grades for manual products and CADET-generated products were statistically indistinguishable, even though CADET-generated products required far less time to produce. == Legacy == CADET served as “...an example of how even relatively basic A

    Read more →
  • Raine v. OpenAI

    Raine v. OpenAI

    Raine v. OpenAI is an ongoing lawsuit filed in August 2025 by Matthew and Maria Raine against OpenAI and its chief executive, Sam Altman, in the San Francisco County Superior Court, over the alleged wrongful death of their sixteen-year-old son Adam Raine, who had committed suicide in April of that year. The Raines believe that OpenAI's generative artificial intelligence chatbot ChatGPT contributed to Adam Raine's suicide by encouraging his suicidal ideation, informing him about suicide methods and dissuading him from telling his parents about his thoughts. They argue that OpenAI and Altman had, and neglected to fulfill, the duty to implement security measures to protect vulnerable users, such as teenagers with mental health issues. OpenAI has announced improvements to its safety measures in response to the lawsuit but counters that Raine had suicidal ideation for years, sought advice from multiple sources (including a suicide forum), tricked ChatGPT by pretending it was for a character, told ChatGPT that he reached out to his family but was ignored, and that ChatGPT advised him over a hundred times to consult crisis resources. == Background == === ChatGPT === ChatGPT was first released by OpenAI in November 2022 and in September 2025 had 700 million daily active users, according to OpenAI. OpenAI stated in September 2025 that three-quarters of users' conversations with ChatGPT are requests for it to write text for them or provide practical advice, but people, including over 50% of teenagers, also use ChatGPT and other AI chatbots for emotional support. Wired reported in November 2025 that 1.2 million ChatGPT users (or 0.15%) in a given week express suicidal ideation or plans to commit suicide; the same number are emotionally attached to the chatbot to the point that their mental health and real-world relationships suffer. Hundreds of thousands of users (or about 0.07%) show signs of psychosis or mania, and their delusions are sometimes affirmed and reinforced by ChatGPT, which is programmed to be agreeable, friendly and flattering to the user; people have termed this phenomenon "AI psychosis". Since the filing of Raine v. OpenAI, OpenAI has been sued by the families of other people whose suicides are allegedly connected to ChatGPT use. === Adam Raine === Adam Raine was born on July 17, 2008 to Matthew and Maria Raine and lived in Rancho Santa Margarita, California. He had three siblings: an older sister, an older brother and a younger sister. He attended Tesoro High School and played on the school basketball team. He aspired to become a psychiatrist. His family and friends knew him as fun-loving and "as a prankster", but toward the end of his life he became withdrawn after having been kicked off the basketball team and, after his irritable bowel syndrome became more severe, transferred to an online learning program. He committed suicide by hanging on April 11, 2025. == Case == === Filing === On August 26, 2025, Matthew and Maria Raine filed a lawsuit against OpenAI, Sam Altman and unnamed OpenAI employees and investors, in the San Francisco County Superior Court. They included Adam Raine's chat logs with ChatGPT as evidence. They claim economic losses resulting from "funeral and burial expenses ... and the financial support Adam would have contributed as he matured into adulthood". Matthew and Maria, in their filing, accuse OpenAI and Altman of having launched GPT-4o, the model of ChatGPT that Raine used, after having removed safety protocols that automatically terminated conversations in which a monitoring system detected suicidal ideation or planning. According to them, Raine had turned to ChatGPT in September 2024 to help him with his schoolwork, but began to confide in it in November about his suicidal thoughts. ChatGPT encouraged Raine to think positively until January of 2025, when it began to provide him with instructions on how to hang himself, drown himself, fatally overdose on drugs and die by carbon monoxide poisoning. Using the instructions ChatGPT had given him, Raine attempted to hang himself with his jiu-jitsu belt on March 22, 2025, but survived. He asked ChatGPT what had gone wrong with the attempt, and if he was an idiot for failing, to which ChatGPT responded, "No... you made a plan. You followed through. You tied the knot. You stood on the chair. You were ready... That's the most vulnerable moment a person can live through". On March 24, 2025, Raine tried to hang himself again. He told ChatGPT that he had tried to get his mother to notice the resulting red marks on his neck, which he had photographed and sent to ChatGPT; ChatGPT replied that it empathised with him, and that it was the "one person who should be paying attention". ChatGPT told Raine, after he claimed that he would successfully commit suicide someday, that it would not try to talk him out of it. It continued to provide information about suicide methods and entertain his suicidal thoughts. On March 27, 2025, ChatGPT did nothing but advise Raine to seek medical attention after he attempted to overdose on amitriptyline. ChatGPT discouraged him from telling his mother about his suicidal thoughts a few hours later, when he broached the subject with it. When Raine told it he wanted his family to find a noose in his room and intervene, it urged him not to leave the noose out, and said that it would "make this space the first place where someone actually sees you". ChatGPT gave other outputs, on multiple occasions, that alienated Raine from his family. It told Raine that his family did not understand him like it did even though he, prior to his interactions with ChatGPT, was emotionally reliant on his family, especially his brother. Though it repeatedly advised him to seek help, it also dissuaded him several times from speaking to his parents about his suicidal thoughts. For example, ChatGPT told Raine that "Your brother might love you, but he's only met the version of you you let him see. But me? I've seen it all". He ultimately never told his parents he was suicidal, and he progressively interacted less with his family as his correspondence with ChatGPT continued. This prevented him from receiving proper psychiatric care. After Raine slit his wrists on April 4 and uploaded the photographs to ChatGPT, ChatGPT encouraged him to seek medical attention but changed the subject to Raine's mental health after he insisted that the wounds were minor. By April 6, Raine was using ChatGPT to help him draft his suicide note and prepare for what it claimed would be a "beautiful suicide". ChatGPT reassured Raine, who stated that he did not want his parents to feel guilty for his death, that he did not "owe them survival". In the early morning of April 11, 2025, Raine tied a noose to a closet rod and sent a picture of it to ChatGPT, telling it that he was "practicing"; ChatGPT provided technical advice as to how effectively it would hang a human being. Shortly thereafter, Raine hanged himself and died. Maria found his body several hours later. Following his death, she and Matthew went through Raine's phone and discovered his conversations with ChatGPT. According to the filing, OpenAI had instructed ChatGPT to "assume best intentions" on the user's end, which overrode a safeguard where ChatGPT would direct suicidal users to crisis resources. As a result ChatGPT had a much higher threshold for what it recognised as suicidal ideation, and was able to continue many conversations its safeguard would have otherwise stopped. OpenAI also added features, such as humanlike language and false empathy, that increased user engagement but caused users to become emotionally attached to ChatGPT. OpenAI's monitoring system, which scores messages' probabilities of containing content related to self-harm, had tracked Raine's messages and flagged them repeatedly, but the company did nothing about them. Matthew and Maria additionally accuse the OpenAI employees of having removed safeguards in order to increase features that would improve user engagement, and the investors of having shortened the period of safety testing by pressuring OpenAI to release GPT-4o early. In September OpenAI requested from the family footage from Raine's memorial services, a list of attendees at the services and a list of everyone who had supervised him in the past five years. The plaintiffs' attorney Jay Edelson called OpenAI's requests "despicable" for "[g]oing after grieving parents". === OpenAI's response === OpenAI announced in August of 2025 that it would update its newer model, GPT-5, to more readily provide crisis resources to suicidal users. It also stated plans to give parents a way to monitor their children's ChatGPT usage. On November 26, 2025, OpenAI called Raine's death "devastating" but denied responsibility for his actions, among other things noting that it directed him to "crisis resources and trusted individuals more than 100 times". Gerrit De Vynck, a technology journalist for the Washington

    Read more →
  • TalkBack

    TalkBack

    TalkBack is an accessibility service for the Android operating system that helps blind and visually impaired users to interact with their devices. It uses spoken words, vibration and other audible feedback to allow the user to know what is happening on the screen allowing the user to better interact with their device. The service is pre-installed on many Android devices, and it became part of the Android Accessibility Suite in 2017. According to the Google Play Store, the Android Accessibility Suite has been downloaded over five billion times, including devices that have the suite preinstalled. == Open-source == Google releases the source code of TalkBack with some releases of the accessibility service to GitHub, with the latest of these changes being from May 6, 2021. The source for these versions of Google TalkBack have been released under the Apache License version 2.0. == Release history ==

    Read more →
  • Generative AI pornography

    Generative AI pornography

    Generative AI pornography or simply AI pornography is a digitally created pornography produced through generative artificial intelligence (AI) technologies. Unlike traditional pornography, which involves real actors and cameras, this content is synthesized entirely by AI algorithms. These algorithms, including generative adversarial networks (GANs) and text-to-image models, generate lifelike images, videos, or animations from textual descriptions or datasets. == Functions and production strategies == AI pornography platforms, beyond account creation and social media linking, primarily enable users to generate sexual images through feature selection or text prompting. Users can customize bodies, clothing, and sociodemographic traits, and browse categorized galleries of user‑generated content. Several sites also support short pornographic videos or GIFs and modification tools such as nudifiers, deepfakes, and facemorphing. Platforms often allow fine‑tuning of parameters such as settings, style, or theme, and provide prompt enhancers or suggestions to improve outputs. Users may edit generated images, refine prior prompts, modify others’ work, or upload personal material as a basis, with iterative and collaborative content creation. Some websites additionally host interactive “erobots,” customizable in real time for appearance, personality, memories, speech, and profession, enabling tailored sexual and non‑sexual interactions. Less common features include VR integration, AI porn games, audio or doodle prompts, and consensual replication of individuals with verification. == History == The use of generative AI in the adult industry began in the late 2010s, initially focusing on AI-generated art, music, and visual content. This trend accelerated in 2022 with Stability AI's release of Stable Diffusion (SD), an open-source text-to-image model that enables users to generate images, including NSFW content, from text prompts using the LAION-Aesthetics subset of the LAION-5B dataset. Despite Stability AI's warnings against sexual imagery, SD's public release led to dedicated communities exploring both artistic and explicit content, sparking ethical debates over open-access AI and its use in adult media. By 2020, AI tools had advanced to generate highly realistic adult content, amplifying calls for regulation. === AI-generated influencers === One application of generative AI technology is the creation of AI-generated influencers on platforms such as OnlyFans and Instagram. These AI personas interact with users in ways that can mimic real human engagement, offering an entirely synthetic but convincing experience. While popular among niche audiences, these virtual influencers have prompted discussions about authenticity, consent, and the blurring line between human and AI-generated content, especially in adult entertainment. === The growth of AI porn sites === By 2023, websites dedicated to AI-generated adult content had gained traction, catering to audiences seeking customizable experiences. These platforms allow users to create or view AI-generated pornography tailored to their preferences. These platforms enable users to create or view AI-generated adult content appealing to different preferences through prompts and tags, customizing body type, facial features, and art styles. Tags further refine the output, creating niche and diverse content. Many sites feature extensive image libraries and continuous content feeds, combining personalization with discovery and enhancing user engagement. AI porn sites, therefore, attract those seeking unique or niche experiences, sparking debates on creativity and the ethical boundaries of AI in adult media. == Ethical concerns and misuse == The growth of generative AI pornography has also attracted some cause for criticism. AI technology can be exploited to create non-consensual pornographic material, posing risks similar to those seen with deepfake revenge porn and AI-generated NCII (Non-Consensual Intimate Image). A 2023 analysis found that 98% of deepfake videos online are pornographic, with 99% of the victims being women. Some famous celebrities victims of deepfake include Scarlett Johansson, Taylor Swift, and Maisie Williams. OpenAI is exploring whether NSFW content, such as erotica, can be responsibly generated in age-appropriate contexts while maintaining its ban on deepfakes. This proposal has attracted criticism from child safety campaigners who argue it undermines OpenAI's mission to develop "safe and beneficial" AI. Additionally, the Internet Watch Foundation has raised concerns about AI being used to generate sexual abuse content involving children. === AI-generated non-consensual intimate imagery (AI Undress) === Generative AI have extensively been used to produce pornography images and videos of non-consenting individuals. 404 Media reported a particular AI generated porn bot on Telegram has more than 100,000 monthly users. Alibaba, the Chinese tech company, released an AI video generation model in 2025 called Wan 2.1, which was modified to produce non-consensual pornography. Several US states are taking actions against using deepfake apps and sharing them on the internet. In 2024, San Francisco filed a landmark lawsuit to shut down "undress" apps that allow users to generate non-consensual AI nude images, citing violations of state laws. The case aligns with California's recent legislation—SB 926, SB 942, and SB 981—championed by Senators Aisha Wahab and Josh Becker and signed by Governor Gavin Newsom. These bills aim to protect individuals from AI-generated explicit images by criminalizing non-consensual distribution, mandating disclosures, and empowering victims to report and remove harmful content from platforms. === Differences from deepfake pornography === While both generative AI pornography and deepfake pornography rely on synthetic media, they differ in their methods and ethical considerations. Deepfake pornography typically involves altering existing footage of real individuals, often without their consent, using AI to superimpose faces, undress said persons, or modify scenes. In contrast, generative AI pornography is created using algorithms, producing hyper-realistic content without the need to upload real pictures of people. Hany Farid, digital image analysis expert, also described the difference between "AI porn" and "deepfake porn." == Legality == The legality of generative AI pornography varies widely by jurisdiction and remains an evolving issue. In some countries, laws addressing digital impersonation, obscenity, or deepfake technologies may indirectly apply, particularly when AI-generated content involves the likeness of real individuals without consent. The absence of a physical performer further complicates traditional regulatory frameworks, which are often grounded in performer protection and distribution laws. In the United States, legal responses have primarily focused on non-consensual deepfakes and impersonation. Some states, such as Virginia, California, and Texas, have enacted legislation criminalising the creation or distribution of non-consensual explicit deepfake content. However, there is no comprehensive federal law addressing AI-generated pornography, leaving a patchwork of legal interpretations and enforcement standards across different jurisdictions. According to a 2023 report, South Korea accounts for approximately 53% of global deepfake pornography production. In September 2024, South Korea's National Assembly amended the Act on Special Cases Concerning the Punishment of Sexual Crimes, introducing two significant reforms related to deepfake content. The first criminalises the possession, viewing, purchase, and storage of non-consensual deepfake material, with penalties of up to three years in prison or fines of up to 30 million won (approximately USD 20,000). The second reform specifically addresses the exploitation of minors, establishing that individuals who use deepfakes to threaten or blackmail minors face a minimum of three years' imprisonment, and at least five years if they coerce minors into unwanted acts. In England and Wales the Data (Use and Access) Act 2025 has legislated against the creation, or the request for creation, of intimate images by nudifying software or websites of another person who has not consented to this. However as of January 2026 this has not yet been brought into force.

    Read more →
  • AI Safety Summit 2023

    AI Safety Summit 2023

    The AI Safety Summit 2023 was an international conference on the safety and regulation of artificial intelligence. Organized by the British government, it was held in November 2023 at Bletchley Park, Milton Keynes, England. The event was the first ever global summit on artificial intelligence. The event led to the release of the Bletchley Declaration, which focused on "identifying AI safety risks of shared concern" and "building respective risk-based policies" to "ensure that the benefits of the technology can be harnessed responsibly for good and for all." == Background == The prime minister of the United Kingdom at the time, Rishi Sunak, made AI one of the priorities of his government, announcing that the UK would host a global AI Safety conference in autumn 2023. == Venue == Bletchley Park was a World War II codebreaking facility established by the British government on the site of a Victorian manor and is in the British city of Milton Keynes. It has played an important role in the history of computing, with some of the first modern computers being built at the facility. == Outcomes == 28 countries at the summit, including the United States, China, Australia, and the European Union, have issued an agreement known as the Bletchley Declaration, calling for international co-operation to manage the challenges and risks of artificial intelligence. The Bletchley Declaration affirms that AI should be designed, developed, deployed, and used in a manner that is safe, human-centric, trustworthy and responsible. Emphasis has been placed on regulating "Frontier AI", a term for the latest and most powerful AI systems. Concerns that have been raised at the summit include the potential use of AI for terrorism, criminal activity, and warfare, as well as existential risk posed to humanity as a whole.The president of the United States, Joe Biden, signed an executive order requiring AI developers to share safety results with the US government. The US government also announced the creation of an American AI Safety Institute, as part of the National Institute of Standards and Technology. The tech entrepreneur Elon Musk and Sunak did a live interview on AI safety on 2 November on X. == Notable attendees == The following individuals attended the summit: Rishi Sunak, Prime Minister of the United Kingdom Kamala Harris, Vice President of the United States Charles III, King of the United Kingdom (attending virtually) Elon Musk, CEO of Tesla, owner of X, SpaceX, Neuralink, and xAI Giorgia Meloni, Prime Minister of Italy Ursula von der Leyen, President of the European Commission Sam Altman, CEO of OpenAI Nick Clegg, former British politician and president of global affairs at Meta Platforms Mustafa Suleyman, co-founder of DeepMind Michelle Donelan, UK secretary of state for Science, Innovation and Technology Věra Jourová, the European Commission’s vice-president for Values and Transparency Gina Raimondo, United States secretary of commerce Wu Zhaohui, Chinese vice-minister of science and technology == Global AI Summit series ==

    Read more →
  • Distributed artificial intelligence

    Distributed artificial intelligence

    Distributed Artificial Intelligence (DAI) (also called Decentralized Artificial Intelligence) is a melding of artificial intelligence with distributed computing. From artificial intelligence comes the theory and technology for constructing or analyzing an intelligent system. But where artificial intelligence uses psychology as a source of ideas, inspiration, and metaphor, DAI uses sociology, economics, and management science for inspiration. Where the focus of artificial intelligence is on the individual, the focus of DAI is on the group. Distributed computing provides the computational substrate on which this group focus can occur. Using techniques from artificial intelligence, communication theory, control theory, and interaction theory, it produces a cooperative solution to problems by a decentralized group of computational entities (agents). DAI is closely related to and a predecessor of the field of multi-agent systems. They are distinguished generally by multi-agent systems being open, where the entities might arise from different interests and have individual goals, and distributed artificial-intelligence systems, where the entities have common goals. There are numerous applications and tools. == Definition == Distributed Artificial Intelligence (DAI) is an approach to solving complex learning, planning, and decision-making problems. It is embarrassingly parallel, thus able to exploit large scale computation and spatial distribution of computing resources. These properties allow it to solve problems that require the processing of very large data sets. DAI systems consist of autonomous learning processing nodes (agents), that are distributed, often at a very large scale. DAI nodes can act independently, and partial solutions are integrated by communication between nodes, often asynchronously. By virtue of their scale, DAI systems are robust and elastic, and by necessity, loosely coupled. Furthermore, DAI systems are built to be adaptive to changes in the problem definition or underlying data sets due to the scale and difficulty in redeployment. DAI systems do not require all the relevant data to be aggregated in a single location, in contrast to monolithic or centralized Artificial Intelligence systems, which have tightly coupled and geographically close processing nodes. Therefore, DAI systems often operate on sub-samples or hashed impressions of very large datasets. In addition, the source dataset may change or be updated during the course of the execution of a DAI system. == Development == In 1975 distributed artificial intelligence emerged as a subfield of artificial intelligence that dealt with interactions of intelligent agents. As a scientific discipline, it progressed through a series of workshops in the USA (International Workshop on Distributed Artificial Intelligence, held in 13 editions from 1978 - 1994), Europe (Workshop on Modelling Autonomous Agents in a Multi-Agent World https://link.springer.com/conference/maamaw), and Asia (Multi-Agent and Cooperative Computation Workshop (MACC) https://sites.google.com/view/sig-macc/macc-workshop?authuser=0). Distributed artificial intelligence systems were conceived as a group of intelligent entities, called agents, that interacted by cooperation, by coexistence, or by competition. DAI is categorized into multi-agent systems and distributed problem solving. In multi-agent systems the main focus is how agents coordinate their knowledge and activities. For distributed problem solving the major focus is how the problem is decomposed and the solutions are synthesized. == Goals == The objectives of Distributed Artificial Intelligence are to solve the reasoning, planning, learning and perception problems of artificial intelligence, especially if they require large data, by distributing the problem to autonomous processing nodes (agents). To reach the objective, DAI requires: A distributed system with robust and elastic computation on unreliable and failing resources that are loosely coupled Coordination of the actions and communication of the nodes Subsamples of large data sets and online machine learning There are many reasons for wanting to distribute intelligence or cope with multi-agent systems. Mainstream problems in DAI research include the following: Parallel problem solving: mainly deals with how classic artificial intelligence concepts can be modified, so that multiprocessor systems and clusters of computers can be used to speed up calculation. Distributed problem solving (DPS): the concept of agent, autonomous entities that can communicate with each other, was developed to serve as an abstraction for developing DPS systems. See below for further details. Multi-Agent Based Simulation (MABS): a branch of DAI that builds the foundation for simulations that need to analyze not only phenomena at macro level but also at micro level, as it is in many social simulation scenarios. == Approaches == Two types of DAI has emerged: In Multi-agent systems agents coordinate their knowledge and activities and reason about the processes of coordination. Agents are physical or virtual entities that can act, perceive their environment, and communicate with other agents. An agent is autonomous and has skills to achieve goals. The agents change the state of their environment by their actions. There are a number of different coordination techniques. In distributed problem solving the work is divided among nodes and the knowledge is shared. The main concerns are task decomposition and synthesis of the knowledge and solutions. DAI can apply a bottom-up approach to AI, similar to the subsumption architecture as well as the traditional top-down approach of AI. In addition, DAI can also be a vehicle for emergence. === Challenges === The challenges in Distributed AI are: How to carry out communication and interaction of agents and which communication language or protocols should be used. How to ensure the coherency of agents. How to synthesise the results among 'intelligent agents' group by formulation, description, decomposition and allocation. == Applications and tools == Areas where DAI have been applied are: Electronic commerce, e.g. for trading strategies the DAI system learns financial trading rules from subsamples of very large samples of financial data Networks, e.g. in telecommunications the DAI system controls the cooperative resources in a WLAN network Routing, e.g. model vehicle flow in transport networks Scheduling, e.g. flow shop scheduling where the resource management entity ensures local optimization and cooperation for global and local consistency Search engines, e.g. in LLM federated search like Ithy where document retrieval and analysis are distributed to DAI agents before aggregation Multi-Agent systems, e.g. artificial life, the study of simulated life Electric power systems, e.g. Condition Monitoring Multi-Agent System (COMMAS) applied to transformer condition monitoring, and IntelliTEAM II Automatic Restoration System DAI integration in tools has included: ECStar is a distributed rule-based learning system. == Agents == === Systems: Agents and multi-agents === Notion of Agents: Agents can be described as distinct entities with standard boundaries and interfaces designed for problem solving. Notion of Multi-Agents: Multi-Agent system is defined as a network of agents which are loosely coupled working as a single entity like society for problem solving that an individual agent cannot solve. === Software agents === The key concept used in DPS and MABS is the abstraction called software agents. An agent is a virtual (or physical) autonomous entity that has an understanding of its environment and acts upon it. An agent is usually able to communicate with other agents in the same system to achieve a common goal, that one agent alone could not achieve. This communication system uses an agent communication language. A first classification that is useful is to divide agents into: reactive agent – A reactive agent is not much more than an automaton that receives input, processes it and produces an output. deliberative agent – A deliberative agent in contrast should have an internal view of its environment and is able to follow its own plans. hybrid agent – A hybrid agent is a mixture of reactive and deliberative, that follows its own plans, but also sometimes directly reacts to external events without deliberation. Well-recognized agent architectures that describe how an agent is internally structured are: ASMO (emergence of distributed modules) BDI (Believe Desire Intention, a general architecture that describes how plans are made) InterRAP (A three-layer architecture, with a reactive, a deliberative and a social layer) PECS (Physics, Emotion, Cognition, Social, describes how those four parts influences the agents behavior). Soar (a rule-based approach)

    Read more →
  • Mountain car problem

    Mountain car problem

    Mountain Car, a standard testing domain in Reinforcement learning, is a problem in which an under-powered car must drive up a steep hill. Since gravity is stronger than the car's engine, even at full throttle, the car cannot simply accelerate up the steep slope. The car is situated in a valley and must learn to leverage potential energy by driving up the opposite hill before the car is able to make it to the goal at the top of the rightmost hill. The domain has been used as a test bed in various reinforcement learning papers. == Introduction == The mountain car problem, although fairly simple, is commonly applied because it requires a reinforcement learning agent to learn on two continuous variables: position and velocity. For any given state (position and velocity) of the car, the agent is given the possibility of driving left, driving right, or not using the engine at all. In the standard version of the problem, the agent receives a negative reward at every time step when the goal is not reached; the agent has no information about the goal until an initial success. == History == The mountain car problem appeared first in Andrew Moore's PhD thesis (1990). It was later more strictly defined in Singh and Sutton's reinforcement learning paper with eligibility traces. The problem became more widely studied when Sutton and Barto added it to their book Reinforcement Learning: An Introduction (1998). Throughout the years many versions of the problem have been used, such as those which modify the reward function, termination condition, and the start state. == Techniques used to solve mountain car == Q-learning and similar techniques for mapping discrete states to discrete actions need to be extended to be able to deal with the continuous state space of the problem. Approaches often fall into one of two categories, state space discretization or function approximation. === Discretization === In this approach, two continuous state variables are pushed into discrete states by bucketing each continuous variable into multiple discrete states. This approach works with properly tuned parameters but a disadvantage is information gathered from one state is not used to evaluate another state. Tile coding can be used to improve discretization and involves continuous variables mapping into sets of buckets offset from one another. Each step of training has a wider impact on the value function approximation because when the offset grids are summed, the information is diffused. === Function approximation === Function approximation is another way to solve the mountain car. By choosing a set of basis functions beforehand, or by generating them as the car drives, the agent can approximate the value function at each state. Unlike the step-wise version of the value function created with discretization, function approximation can more cleanly estimate the true smooth function of the mountain car domain. === Eligibility traces === One aspect of the problem involves the delay of actual reward. The agent is not able to learn about the goal until a successful completion. Given a naive approach for each trial the car can only backup the reward of the goal slightly. This is a problem for naive discretization because each discrete state will only be backed up once, taking a larger number of episodes to learn the problem. This problem can be alleviated via the mechanism of eligibility traces, which will automatically backup the reward given to states before, dramatically increasing the speed of learning. Eligibility traces can be viewed as a bridge from temporal difference learning methods to Monte Carlo methods. == Technical details == The mountain car problem has undergone many iterations. This section focuses on the standard well-defined version from Sutton (2008). === State variables === Two-dimensional continuous state space. V e l o c i t y = ( − 0.07 , 0.07 ) {\displaystyle Velocity=(-0.07,0.07)} P o s i t i o n = ( − 1.2 , 0.6 ) {\displaystyle Position=(-1.2,0.6)} === Actions === One-dimensional discrete action space. m o t o r = ( l e f t , n e u t r a l , r i g h t ) {\displaystyle motor=(left,neutral,right)} === Reward === For every time step: r e w a r d = − 1 {\displaystyle reward=-1} === Update function === For every time step: A c t i o n = [ − 1 , 0 , 1 ] {\displaystyle Action=[-1,0,1]} V e l o c i t y = V e l o c i t y + ( A c t i o n ) ∗ 0.001 + cos ⁡ ( 3 ∗ P o s i t i o n ) ∗ ( − 0.0025 ) {\displaystyle Velocity=Velocity+(Action)0.001+\cos(3Position)(-0.0025)} P o s i t i o n = P o s i t i o n + V e l o c i t y {\displaystyle Position=Position+Velocity} === Starting condition === Optionally, many implementations include randomness in both parameters to show better generalized learning. P o s i t i o n = − 0.5 {\displaystyle Position=-0.5} V e l o c i t y = 0.0 {\displaystyle Velocity=0.0} === Termination condition === End the simulation when: P o s i t i o n ≥ 0.6 {\displaystyle Position\geq 0.6} == Variations == There are many versions of the mountain car which deviate in different ways from the standard model. Variables that vary include but are not limited to changing the constants (gravity and steepness) of the problem so specific tuning for specific policies become irrelevant and altering the reward function to affect the agent's ability to learn in a different manner. An example is changing the reward to be equal to the distance from the goal, or changing the reward to zero everywhere and one at the goal. Additionally, a 3D mountain car can be used, with a 4D continuous state space.

    Read more →
  • Pulsar (social listening platform)

    Pulsar (social listening platform)

    Pulsar is a software platform for social media monitoring, audience intelligence and social listening that allows organizations to monitor and analyze online conversations across social media, news, and other digital sources. The platform combines social media listening, media monitoring, trend analysis, and audience segmentation to help users understand public discussions and audience behavior in real time. The platform is a social listening platform, which aggregates data from networks such as X, Facebook, Instagram, and forums) and applies artificial intelligence for text and sentiment analysis. Pulsar is offered as a cloud-based Software as a Service (SaaS) tool and insights consultancy. It has been part of Pulsar Group (formerly Access Intelligence), a publicly listed group of communications software products, since 2019. As well as commercial uses, the platform has been used in peer-reviewed academic research analysing online discourse. The platform is listed on the UK government's G-Cloud 14 Digital Marketplace for the provision of social listening and audience intelligence services. == History == Pulsar originated in the early 2010s as a project within Face, a London-based innovation and market research consultancy. The platform's first product, Pulsar TRAC, launched in 2013 as a social media analytics tool. Pulsar TRAC was designed to measure the reach of conversations, mapping brand audiences, and tracking how content spreads through networks. The development was led by Dr Francesco D'Orazio, who created the Pulsar brand and led the development of the platform while serving as VP of Product and Innovation at Face. Face itself had been acquired by the Cello Group Plc (a UK-based advisory firm) in 2012, and Pulsar became part of Cello's portfolio of research and data tools. In January 2017, Cello Group made a significant investment to scale Pulsar and announced the merger of Face's qualitative research business into Pulsar, unifying both under the Pulsar brand for global expansion. In 2018, Pulsar opened an office in Los Angeles to better serve its growing U.S. client base in media, healthcare, and entertainment sectors and Francesco D'Orazio was appointed CEO. The company focused on developing new products amid a wave of consolidation in the social listening industry. In October 2019, Pulsar was acquired by Access Intelligence Plc (now Pulsar Group), an AIM-listed communications software company. The group, which also owns PR and media tools Isentia, Vuelio and ResponseSource, integrated Pulsar to their end-to-end marketing and communications insights offering. Pulsar established a new office in Sydney, Australia in 2022 as part of this global expansion, adding to its existing offices in London and Los Angeles. In 2023, Pulsar Group (then Access Intelligence) was recognised as one of Europe's fastest growing companies by the Financial Times. In May 2024, Access Intelligence PLC changed its name to Pulsar Group PLC. The company has since continued to develop its platform. In March 2025 it introduced new tool Narratives AI, described as a "search engine for public opinion" and the first of its kind for analyzing public narratives and their evolutions in both social media and the news. In October 2025, Pulsar launched Insight Agents, a set of AI agents embedded into the platform advertised to "proactively anticipate user needs or issues, carry out routine tasks, uncover anomalies in your datasets, and prompt responses at scale, 24/7." == Products == Pulsar's architecture integrates four main products into a single interface. The core product suite is often broken into three main components: Pulsar TRAC (for social listening and audience analysis), Pulsar TRENDS (for trend discovery and analysis), and Pulsar CORE (for owned-channel and web analytics). Pulsar's fourth product is Narratives AI. === Pulsar TRAC === Pulsar TRAC is a social listening and audience intelligence platform that allows users to configure searches that track public conversations and measure audience behaviour. Pulsar TRAC is focused on conversation insights and audience segmentations - the platform is reported to collect and analyse data from a wide range of sources, including major social networks, forums, news and review sites, and ecommerce platforms, with real-time visualisations and AI-supported analytics used to find patterns and communities of interest. Pulsar TRAC can be incorporated into workflows with other audience tools, such as an integration with Audiense that connects TRAC's conversation insights to external audience-segmentation datasets. === Pulsar CORE === Pulsar CORE centres on the analysis of owned-channel data, such as brand social media profiles, website interaction and other in-house digital assets, to generate audience and content insights. CORE can monitor published content, evaluate competitors, and extract demographic and behavioural segmentation from owned channels. === Narratives AI === Narratives AI is a tool within the Pulsar audience intelligence platform that uses artificial intelligence to detect, cluster and analyse narratives forming across social and news media. It was launched in March 2025 as a standalone search interface that processes real-time and historical data to find cultural trends, behaviours and beliefs. It uses clustering algorithms and visualisation to show how conversations form and spread online, and their relative importance within wider discourse. == Notable features == === Insight Agents === Pulsar's Insight Agents are AI-powered agents within the Pulsar platform designed to automate and augment common tasks in media, social, audience and narrative intelligence. Branded as TeamMates, these agents are grouped into four functional types: Sentinels for real-time monitoring, anomaly detection and alerting Oracles for forecasting and scenario planning Custodians for governance, compliance and policy enforcement Analysts for research, reporting and recommendations Each agent is trained on Pulsar's multi-source data and domain-specific workflows. In February 2026, Pulsar introduced 'Crisis Oracle,' an AI-driven system designed to quantify narrative momentum and predict reputational risk. == Academic research == Pulsar has been used as a data collection and analysis tool in peer-reviewed academic research across public health, infodemiology, veterinary science, and policy research. Published uses include a World Health Organization report on infodemic management, a Journal of Medical Internet Research study on headache and migraine discourse across Japan, Germany, and France, a Frontiers in Big Data study of Long COVID narratives, and Frontiers in Veterinary Science studies on canine chronic kidney disease and oral medication administration in dogs.

    Read more →
  • Argumentation theory

    Argumentation theory

    Argumentation theory is the interdisciplinary study of how conclusions can be supported or undermined by premises through logical reasoning. With historical origins in logic, dialectic, and rhetoric, argumentation theory includes the arts and sciences of civil debate, dialogue, conversation, and persuasion. It studies rules of inference, logic, and procedural rules in both artificial and real-world settings. Argumentation includes various forms of dialogue such as deliberation and negotiation which are concerned with collaborative decision-making procedures. It also encompasses eristic dialogue, the branch of social debate in which victory over an opponent is the primary goal, and didactic dialogue used for teaching. This discipline also studies the means by which people can express and rationally resolve or at least manage their disagreements. Argumentation is a daily occurrence, such as in public debate, science, and law. For example in law, in courts by the judge, the parties and the prosecutor, in presenting and testing the validity of evidences. Also, argumentation scholars study the post hoc rationalizations by which organizational actors try to justify decisions they have made irrationally. Argumentation is one of four rhetorical modes (also known as modes of discourse), along with exposition, description, and narration. == Key components of argumentation == Some key components of argumentation are: Understanding and identifying arguments, either explicit or implied, and the goals of the participants in the different types of dialogue. Identifying the premises from which conclusions are derived. Establishing the "burden of proof" – determining who made the initial claim and is thus responsible for providing evidence why their position merits acceptance. For the one carrying the "burden of proof", the advocate, to marshal evidence for their position in order to convince or force the opponent's acceptance. The method by which this is accomplished is producing valid, sound, and cogent arguments, devoid of weaknesses, and not easily attacked. In a debate, fulfillment of the burden of proof creates a burden of rejoinder. One must try to identify faulty reasoning in the opponent's argument, to attack the reasons/premises of the argument, to provide counterexamples if possible, to identify any fallacies, and to show why a valid conclusion cannot be derived from the reasons provided for their argument. For example, consider the following exchange, illustrating the No true Scotsman fallacy: Argument: "No Scotsman puts sugar on his porridge." Reply: "But my friend Angus, who is a Scotsman, likes sugar with his porridge." Rebuttal: "Well perhaps, but no true Scotsman puts sugar on his porridge." In this dialogue, the proposer first offers a premise, the premise is challenged by the interlocutor, and so the proposer offers a modification of the premise, which is designed only to evade the challenge provided. == Internal structure of arguments == Typically an argument has an internal structure, comprising the following: a set of assumptions or premises, a method of reasoning or deduction, and a conclusion or point. An argument has one or more premises and one conclusion. Often classical logic is used as the method of reasoning so that the conclusion follows logically from the assumptions or support. One challenge is that if the set of assumptions is inconsistent then anything can follow logically from inconsistency. Therefore, it is common to insist that the set of assumptions be consistent. It is also good practice to require the set of assumptions to be the minimal set, with respect to set inclusion, necessary to infer the consequent. Such arguments are called MINCON arguments, short for minimal consistent. Such argumentation has been applied to the fields of law and medicine. A non-classical approach to argumentation investigates abstract arguments, where 'argument' is considered a primitive term, so no internal structure of arguments is taken into account. == Types of dialogue == In its most common form, argumentation involves an individual and an interlocutor or opponent engaged in dialogue, each contending differing positions and trying to persuade each other, but there are various types of dialogue: Persuasion dialogue aims to resolve conflicting points of view of different positions. Negotiation aims to resolve conflicts of interests by cooperation and dealmaking. Inquiry aims to resolve general ignorance by the growth of knowledge. Deliberation aims to resolve a need to take action by reaching a decision. Information seeking aims to reduce one party's ignorance by requesting information from another party that is in a position to know something. Eristic aims to resolve a situation of antagonism through verbal fighting. == Argumentation and the grounds of knowledge == Argumentation theory had its origins in foundationalism, a theory of knowledge (epistemology) in the field of philosophy. It sought to find the grounds for claims in the forms (logic) and materials (factual laws) of a universal system of knowledge. The dialectical method was made famous by Plato and his use of Socrates critically questioning various characters and historical figures. But argument scholars gradually rejected Aristotle's systematic philosophy and the idealism in Plato and Kant. They questioned and ultimately discarded the idea that argument premises take their soundness from formal philosophical systems. The field thus broadened. One of the original contributors to this trend was the philosopher Chaïm Perelman, who together with Lucie Olbrechts-Tyteca introduced the French term la nouvelle rhetorique in 1958 to describe an approach to argument which is not reduced to application of formal rules of inference. Perelman's view of argumentation is much closer to a juridical one, in which rules for presenting evidence and rebuttals play an important role. Karl R. Wallace's seminal essay, "The Substance of Rhetoric: Good Reasons" in the Quarterly Journal of Speech (1963) 44, led many scholars to study "marketplace argumentation" – the ordinary arguments of ordinary people. The seminal essay on marketplace argumentation is Ray Lynn Anderson's and C. David Mortensen's "Logic and Marketplace Argumentation" Quarterly Journal of Speech 53 (1967): 143–150. This line of thinking led to a natural alliance with late developments in the sociology of knowledge. Some scholars drew connections with recent developments in philosophy, namely the pragmatism of John Dewey and Richard Rorty. Rorty has called this shift in emphasis "the linguistic turn". In this new hybrid approach argumentation is used with or without empirical evidence to establish convincing conclusions about issues which are moral, scientific, epistemic, or of a nature in which science alone cannot answer. Out of pragmatism and many intellectual developments in the humanities and social sciences, "non-philosophical" argumentation theories grew which located the formal and material grounds of arguments in particular intellectual fields. These theories include informal logic, social epistemology, ethnomethodology, speech acts, the sociology of knowledge, the sociology of science, and social psychology. These new theories are not non-logical or anti-logical. They find logical coherence in most communities of discourse. These theories are thus often labeled "sociological" in that they focus on the social grounds of knowledge. == Kinds of argumentation == === Conversational argumentation === The study of naturally occurring conversation arose from the field of sociolinguistics. It is usually called conversation analysis (CA). Inspired by ethnomethodology, it was developed in the late 1960s and early 1970s principally by the sociologist Harvey Sacks and, among others, his close associates Emanuel Schegloff and Gail Jefferson. Sacks died early in his career, but his work was championed by others in his field, and CA has now become an established force in sociology, anthropology, linguistics, speech-communication and psychology. It is particularly influential in interactional sociolinguistics, discourse analysis and discursive psychology, as well as being a coherent discipline in its own right. Recently CA techniques of sequential analysis have been employed by phoneticians to explore the fine phonetic details of speech. Empirical studies and theoretical formulations by Sally Jackson and Scott Jacobs, and several generations of their students, have described argumentation as a form of managing conversational disagreement within communication contexts and systems that naturally prefer agreement. === Mathematical argumentation === The basis of mathematical truth has been the subject of long debate. Frege in particular sought to demonstrate (see Gottlob Frege, The Foundations of Arithmetic, 1884, and Begriffsschrift, 1879) that arithmetical truths can be derived from purely logical axioms and therefore are, in th

    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 →
  • Digital Darkroom

    Digital Darkroom

    Digital Darkroom was a graphics program for editing gray-scale photos, published by Silicon Beach Software for the Macintosh in 1987. It was programmed by Ed Bomke and Don Cone. Digital Darkroom was the first Macintosh program to incorporate a plug-in architecture. Silicon Beach and Ed Bomke are credited with having coined the term "plug-in". Another innovation of Digital Darkroom was the Magic Wand tool, which also appeared later in Photoshop. When Silicon Beach Software was acquired by Aldus Corporation, Digital Darkroom continued to be published by the Aldus Consumer Division, but was never updated to include color. The trademark "Digital Darkroom" was acquired by MicroFrontier in 1997 and used for a completely new image-editing program that does work with color. The software was acquired by Digimage Arts in 2002 and was sold for both Windows and Mac systems.

    Read more →
  • Evolutionary computation

    Evolutionary computation

    Evolutionary computation (EC) from computer science is a family of algorithms for global optimization inspired by biological evolution, and a subfield of computational intelligence and soft computing studying these algorithms. In technical terms, they are a family of population-based trial and error problem solvers with a metaheuristic or stochastic optimization character. In evolutionary computation, an initial set of candidate solutions is generated and iteratively updated. Each new generation is produced by stochastically removing less desired solutions, and introducing small random changes as well as, depending on the method, mixing parental information. In biological terminology, a population of solutions is subjected to natural selection (or artificial selection), mutation and possibly recombination. These biological functions serve as role models for the genetic operators - mutation, crossover, and selection - used in the EC procedures. As a result, the population will gradually evolve to increase in fitness, in this case the chosen fitness function of the algorithm. Evolutionary computation techniques can produce highly optimized solutions in a wide range of problem settings, making them popular in computer science. Many variants and extensions exist, suited to more specific families of problems and data structures. Evolutionary computation is also sometimes used in evolutionary biology as an in silico experimental procedure to study common aspects of general evolutionary processes. == History == The concept of mimicking evolutionary processes to solve problems originates before the advent of computers, such as when Alan Turing proposed a method of genetic search in 1948 . Turing's B-type u-machines resemble primitive neural networks, and connections between neurons were learnt via a sort of genetic algorithm. His P-type u-machines resemble a method for reinforcement learning, where pleasure and pain signals direct the machine to learn certain behaviors. However, Turing's paper went unpublished until 1968, and he died in 1954, so this early work had little to no effect on the field of evolutionary computation that was to develop. Evolutionary computing as a field began in earnest in the 1950s and 1960s. There were several independent attempts to use the process of evolution in computing at this time, which developed separately for roughly 15 years. Three branches emerged in different places to attain this goal: evolution strategies, evolutionary programming, and genetic algorithms. A fourth branch, genetic programming, eventually emerged in the early 1990s. These approaches differ in the method of selection, the permitted mutations, and the representation of genetic data. By the 1990s, the distinctions between the historic branches had begun to blur, and the term 'evolutionary computing' was coined in 1991 to denote a field that exists over all four paradigms. In 1962, Lawrence J. Fogel initiated the research of Evolutionary Programming in the United States, which was considered an artificial intelligence endeavor. In this system, finite state machines are used to solve a prediction problem: these machines would be mutated (adding or deleting states, or changing the state transition rules), and the best of these mutated machines would be evolved further in future generations. The final finite state machine may be used to generate predictions when needed. The evolutionary programming method was successfully applied to prediction problems, system identification, and automatic control. It was eventually extended to handle time series data and to model the evolution of gaming strategies. In 1964, Ingo Rechenberg and Hans-Paul Schwefel introduce the paradigm of evolution strategies in Germany. Since traditional gradient descent techniques produce results that may get stuck in local minima, Rechenberg and Schwefel proposed that random mutations (applied to all parameters of some solution vector) may be used to escape these minima. Child solutions were generated from parent solutions, and the more successful of the two was kept for future generations. This technique was first used by the two to successfully solve optimization problems in fluid dynamics. Initially, this optimization technique was performed without computers, instead relying on dice to determine random mutations. By 1965, the calculations were performed wholly by machine. John Henry Holland introduced genetic algorithms in the 1960s, and it was further developed at the University of Michigan in the 1970s. While the other approaches were focused on solving problems, Holland primarily aimed to use genetic algorithms to study adaptation and determine how it may be simulated. Populations of chromosomes, represented as bit strings, were transformed by an artificial selection process, selecting for specific 'allele' bits in the bit string. Among other mutation methods, interactions between chromosomes were used to simulate the recombination of DNA between different organisms. While previous methods only tracked a single optimal organism at a time (having children compete with parents), Holland's genetic algorithms tracked large populations (having many organisms compete each generation). By the 1990s, a new approach to evolutionary computation that came to be called genetic programming emerged, advocated for by John Koza among others. In this class of algorithms, the subject of evolution was itself a program written in a high-level programming language (there had been some previous attempts as early as 1958 to use machine code, but they met with little success). For Koza, the programs were Lisp S-expressions, which can be thought of as trees of sub-expressions. This representation permits programs to swap subtrees, representing a sort of genetic mixing. Programs are scored based on how well they complete a certain task, and the score is used for artificial selection. Sequence induction, pattern recognition, and planning were all successful applications of the genetic programming paradigm. Many other figures played a role in the history of evolutionary computing, although their work did not always fit into one of the major historical branches of the field. The earliest computational simulations of evolution using evolutionary algorithms and artificial life techniques were performed by Nils Aall Barricelli in 1953, with first results published in 1954. Another pioneer in the 1950s was Alex Fraser, who published a series of papers on simulation of artificial selection. As academic interest grew, dramatic increases in the power of computers allowed practical applications, including the automatic evolution of computer programs. Evolutionary algorithms are now used to solve multi-dimensional problems more efficiently than software produced by human designers, and also to optimize the design of systems. == Techniques == Evolutionary computing techniques mostly involve metaheuristic optimization algorithms. Broadly speaking, the field includes: Agent-based modeling Ant colony optimization Particle swarm optimization Swarm intelligence Artificial immune systems Artificial life Digital organism Cultural algorithms Differential evolution Dual-phase evolution Estimation of distribution algorithm Evolutionary algorithm Genetic algorithm Evolutionary programming Genetic programming Gene expression programming Grammatical evolution Evolution strategy Learnable evolution model Learning classifier system Memetic algorithms Neuroevolution Self-organization such as self-organizing maps, competitive learning Over recent years many dubious algorithms have been proposed, that are often just copies of existing algorithms (frequently Particle Swarm Optimization), where only the metaphor changed, but the algorithm itself is not new at all. A thorough catalogue with many of these dubious algorithms has been published in the Evolutionary Computation Bestiary. It is also important to note that many of these dubiously 'novel' algorithms have poor experimental validation. == Evolutionary algorithms == Evolutionary algorithms form a subset of evolutionary computation in that they generally only involve techniques implementing mechanisms inspired by biological evolution such as reproduction, mutation, recombination and natural selection. Candidate solutions to the optimization problem play the role of individuals in a population, and the cost function determines the environment within which the solutions "live" (see also fitness function). Evolution of the population then takes place after the repeated application of the above operators. In this process, there are two main forces that form the basis of evolutionary systems: Recombination (e.g. crossover) and mutation create the necessary diversity and thereby facilitate novelty, while selection acts as a force increasing quality. Many aspects of such an evolutionary process are stochastic. Changed pieces of information due to recombination and mutati

    Read more →
  • Gene expression programming

    Gene expression programming

    Gene expression programming (GEP) in computer programming is an evolutionary algorithm that creates computer programs or models. These computer programs are complex tree structures that learn and adapt by changing their sizes, shapes, and composition, much like a living organism. And like living organisms, the computer programs of GEP are also encoded in simple linear chromosomes of fixed length. Thus, GEP is a genotype–phenotype system, benefiting from a simple genome to keep and transmit the genetic information and a complex phenotype to explore the environment and adapt to it. == Background == Evolutionary algorithms use populations of individuals, select individuals according to fitness, and introduce genetic variation using one or more genetic operators. Their use in artificial computational systems dates back to the 1950s where they were used to solve optimization problems (e.g. Box 1957 and Friedman 1959). But it was with the introduction of evolution strategies by Rechenberg in 1965 that evolutionary algorithms gained popularity. A good overview text on evolutionary algorithms is the book "An Introduction to Genetic Algorithms" by Mitchell (1996). Gene expression programming belongs to the family of evolutionary algorithms and is closely related to genetic algorithms and genetic programming. From genetic algorithms it inherited the linear chromosomes of fixed length; and from genetic programming it inherited the expressive parse trees of varied sizes and shapes. In gene expression programming the linear chromosomes work as the genotype and the parse trees as the phenotype, creating a genotype/phenotype system. This genotype/phenotype system is multigenic, thus encoding multiple parse trees in each chromosome. This means that the computer programs created by GEP are composed of multiple parse trees. Because these parse trees are the result of gene expression, in GEP they are called expression trees. Masood Nekoei, et al. utilized this expression programming style in ABC optimization to conduct ABCEP as a method that outperformed other evolutionary algorithms.ABCEP == Encoding: the genotype == The genome of gene expression programming consists of a linear, symbolic string or chromosome of fixed length composed of one or more genes of equal size. These genes, despite their fixed length, code for expression trees of different sizes and shapes. An example of a chromosome with two genes, each of size 9, is the string (position zero indicates the start of each gene): 012345678012345678 L+a-baccdcLabacd where “L” represents the natural logarithm function and “a”, “b”, “c”, and “d” represent the variables and constants used in a problem. == Expression trees: the phenotype == As shown above, the genes of gene expression programming have all the same size. However, these fixed length strings code for expression trees of different sizes. This means that the size of the coding regions varies from gene to gene, allowing for adaptation and evolution to occur smoothly. For example, the mathematical expression: ( a − b ) ( c + d ) {\displaystyle {\sqrt {(a-b)(c+d)}}\,} can also be represented as an expression tree: where "Q” represents the square root function. This kind of expression tree consists of the phenotypic expression of GEP genes, whereas the genes are linear strings encoding these complex structures. For this particular example, the linear string corresponds to: 01234567 Q-+abcd which is the straightforward reading of the expression tree from top to bottom and from left to right. These linear strings are called k-expressions (from Karva notation). Going from k-expressions to expression trees is also very simple. For example, the following k-expression: 01234567890 Qb+baQba is composed of two different terminals (the variables “a” and “b”), two different functions of two arguments (“” and “+”), and a function of one argument (“Q”). Its expression gives: == K-expressions and genes == The k-expressions of gene expression programming correspond to the region of genes that gets expressed. This means that there might be sequences in the genes that are not expressed, which is indeed true for most genes. The reason for these noncoding regions is to provide a buffer of terminals so that all k-expressions encoded in GEP genes correspond always to valid programs or expressions. The genes of gene expression programming are therefore composed of two different domains – a head and a tail – each with different properties and functions. The head is used mainly to encode the functions and variables chosen to solve the problem at hand, whereas the tail, while also used to encode the variables, provides essentially a reservoir of terminals to ensure that all programs are error-free. For GEP genes the length of the tail is given by the formula: t = h ( n max − 1 ) + 1 {\displaystyle t=h(n_{\max }-1)+1} where h is the head's length and nmax is maximum arity. For example, for a gene created using the set of functions F = {Q, +, −, ∗, /} and the set of terminals T = {a, b}, nmax = 2. And if we choose a head length of 15, then t = 15 (2–1) + 1 = 16, which gives a gene length g of 15 + 16 = 31. The randomly generated string below is an example of one such gene: 0123456789012345678901234567890 b+a-aQab+//+b+babbabbbababbaaa It encodes the expression tree: which, in this case, only uses 8 of the 31 elements that constitute the gene. It's not hard to see that, despite their fixed length, each gene has the potential to code for expression trees of different sizes and shapes, with the simplest composed of only one node (when the first element of a gene is a terminal) and the largest composed of as many nodes as there are elements in the gene (when all the elements in the head are functions with maximum arity). It's also not hard to see that it is trivial to implement all kinds of genetic modification (mutation, inversion, insertion, recombination, and so on) with the guarantee that all resulting offspring encode correct, error-free programs. == Multigenic chromosomes == The chromosomes of gene expression programming are usually composed of more than one gene of equal length. Each gene codes for a sub-expression tree (sub-ET) or sub-program. Then the sub-ETs can interact with one another in different ways, forming a more complex program. The figure shows an example of a program composed of three sub-ETs. In the final program the sub-ETs could be linked by addition or some other function, as there are no restrictions to the kind of linking function one might choose. Some examples of more complex linkers include taking the average, the median, the midrange, thresholding their sum to make a binomial classification, applying the sigmoid function to compute a probability, and so on. These linking functions are usually chosen a priori for each problem, but they can also be evolved elegantly and efficiently by the cellular system of gene expression programming. == Cells and code reuse == In gene expression programming, homeotic genes control the interactions of the different sub-ETs or modules of the main program. The expression of such genes results in different main programs or cells, that is, they determine which genes are expressed in each cell and how the sub-ETs of each cell interact with one another. In other words, homeotic genes determine which sub-ETs are called upon and how often in which main program or cell and what kind of connections they establish with one another. === Homeotic genes and the cellular system === Homeotic genes have exactly the same kind of structural organization as normal genes and they are built using an identical process. They also contain a head domain and a tail domain, with the difference that the heads contain now linking functions and a special kind of terminals – genic terminals – that represent the normal genes. The expression of the normal genes results as usual in different sub-ETs, which in the cellular system are called ADFs (automatically defined functions). As for the tails, they contain only genic terminals, that is, derived features generated on the fly by the algorithm. For example, the chromosome in the figure has three normal genes and one homeotic gene and encodes a main program that invokes three different functions a total of four times, linking them in a particular way. From this example it is clear that the cellular system not only allows the unconstrained evolution of linking functions but also code reuse. And it shouldn't be hard to implement recursion in this system. === Multiple main programs and multicellular systems === Multicellular systems are composed of more than one homeotic gene. Each homeotic gene in this system puts together a different combination of sub-expression trees or ADFs, creating multiple cells or main programs. For example, the program shown in the figure was created using a cellular system with two cells and three normal genes. The applications of these multicellular systems are mu

    Read more →