Fuzzy Control Language, or FCL, is a language for implementing fuzzy logic, especially fuzzy control. It was standardized by IEC 61131-7. It is a domain-specific programming language: it has no features unrelated to fuzzy logic, so it is impossible to even print "Hello, world!". Therefore, one does not write a program in FCL, but one may write part of it in FCL. == Example == RULE 0: IF (temperature IS cold) THEN (output IS low) RULE 1: IF (temperature IS very cold) THEN (output IS high) == Limitations == FCL is not an entirely complete fuzzy language, for instance, it does not support "hedges", which are adverbs that modify the set. For instance, the programmer cannot write: RULE 0: If (Temperature is VERY COLD) then (Output is VERY HIGH) However, the programmer can simply define new sets for "very cold" and "very high". FCL also lacks support for higher-order fuzzy sets, subsets, and so on. None of these features are essential to fuzzy control, although they may be nice to have.
Umple
Umple is a language for both object-oriented programming and modelling with class diagrams and state diagrams. The name Umple is a portmanteau of "UML", "ample" and "Simple", indicating that it is designed to provide ample features to extend programming languages with UML capabilities. == History and philosophy == The design of Umple started in 2008 at the University of Ottawa. Umple was open-sourced and its development was moved to Google Code in early 2011 and to GitHub in 2015. Umple was developed, in part, to address certain problems observed in the modelling community. Most specifically, it was designed to bring modelling and programming into alignment, It was intended to help overcome inhibitions against modelling common in the programmer community. It was also intended to reduce some of the difficulties of model-driven development that arise from the need to use large, expensive or incomplete tools. One design objective is to enable programmers to model in a way they see as natural, by adding modelling constructs to programming languages. == Features and capabilities == Umple can be used to represent in a textual manner many UML modelling entities found in class diagrams and state diagrams. Umple can generate code for these in various programming languages. Currently Umple fully supports Java, C++ and PHP as target programming languages and has functional, but somewhat incomplete support for Ruby. Umple also incorporates various features not related to UML, such as the singleton pattern, keys, immutability, mixins and aspect-oriented code injection. The class diagram notations Umple supports includes classes, interfaces, attributes, associations, generalizations and operations. The code Umple generates for attributes include code in the constructor, 'get' methods and 'set' methods. The generated code differs considerably depending on whether the attribute has properties such as immutability, has a default value, or is part of a key. Umple generates many methods for manipulating, querying and navigating associations. It supports all combinations of UML multiplicity and enforces referential integrity. Umple supports the vast majority of UML state machine notation, including arbitrarily deep nested states, concurrent regions, actions on entry, exit and transition, plus long-lasting activities while in a state. A state machine is treated as an enumerated attribute where the value is controlled by events. Events encoded in the state machine can be methods written by the user, or else generated by the Umple compiler. Events are triggered by calling the method. An event can trigger transitions (subject to guards) in several different state machines. Since a program can be entirely written around one or more state machines, Umple enables automata-based programming. The bodies of methods are written in one of the target programming languages. The same is true for other imperative code such as state machine actions and guards, and code to be injected in an aspect-oriented manner. Such code can be injected before many of the methods in the code Umple generates, for example before or after setting or getting attributes and associations. The Umple notation for UML constructs can be embedded in any of its supported target programming languages. When this is done, Umple can be seen as a pre-processor: The Umple compiler expands the UML constructs into code of the target language. Code in a target language can be passed to the Umple compiler directly; if no Umple-specific notation is found, then the target-language code is emitted unchanged by the Umple compiler. Umple, combined with one of its target languages for imperative code, can be seen and used as a complete programming language. Umple plus Java can therefore be seen as an extension of Java. Alternatively, if imperative code and Umple-specific concepts are left out, Umple can be seen as a way of expressing a large subset of UML in a purely textual manner. Code in one of the supported programming languages can be added in the same manner as UML envisions adding action language code. == License == Umple is licensed under an MIT-style license. == Examples == Here is the classic Hello world program written in Umple (extending Java): This example looks just like Java, because Umple extends other programming languages. With the program saved in a file named HelloWorld.ump, it can be compiled from the command line: $ java -jar umple.jar HelloWorld.ump To run it: $ java HelloWorld The following is a fully executable example showing embedded Java methods and declaration of an association. The following example describes a state machine called status, with states Open, Closing, Closed, Opening and HalfOpen, and with various events that cause transitions from one state to another. class GarageDoor { status { Open { buttonOrObstacle -> Closing; } Closing { buttonOrObstacle -> Opening; reachBottom -> Closed; } Closed { buttonOrObstacle -> Opening; } Opening { buttonOrObstacle -> HalfOpen; reachTop -> Open; } HalfOpen { buttonOrObstacle -> Opening; } } } == Umple use in practice == The first version of the Umple compiler was written in Java, Antlr and Jet (Java Emitter Templates), but in a bootstrapping process, the Java code was converted to Umple following a technique called Umplification. The Antlr and Jet were also later converted to native Umple. Umple is therefore now written entirely in itself, in other words it is self-hosted and serves as its own largest test case. Umple and UmpleOnline have been used in the classroom by several instructors to teach UML and modelling. In one study it was found to help speed up the process of teaching UML, and was also found to improve the grades of students. == Tools == Umple is available as a Jar file so it can be run from the command line, and as an Eclipse plugin. There is also an online tool for Umple called UmpleOnline , which allows a developer to create an Umple system by drawing a UML class diagram, editing Umple code or both. Umple models created with UmpleOnline are stored in the cloud. Currently UmpleOnline only supports Umple programs consisting of a single input file. In addition to code, Umple's tools can generate a variety of other types of output, including user interfaces based on the Umple model.
Emi Kusano
Emi Kusano (Japanese: 草野 絵美, Hepburn: Kusano Emi; born August 4, 1990) is a Tokyobased Japanese multidisciplinary artist known for creating photography, video, and installations using generative AI technology. Her work explores themes of nostalgia, pop culture, and collective memory. Her work explores themes of nostalgia, pop culture, and collective memory. She is recognized as one of the early practitioners of generative AI art. Her work has been exhibited at the 21st Century Museum of Contemporary Art, Kanazawa, and screened at the M+ Museum’s Asian Avant-Garde Film Festival. Additionally, she has participated in prestigious international art fairs, including Paris Photo and Art Basel Hong Kong. In 2025, she was named one of the World Economic Forum's Young Global Leaders. In 2026, she was selected as a fellow for the AI x Arts Fellowship at Mohamed bin Zayed University of Artificial Intelligence. Kusano serves as a part-time lecturer at the Tokyo University of the Arts and is the producer and vocalist for the Synthwave music unit, Satellite Young. == Early life == === Photography === Kusano was born and raised in Tokyo. Kusano's career began during her high school years before 2008 when she became involved in street fashion photography. Her photographs, primarily taken in Harajuku, were published on "Japanese Streets", "Metropolis", CNN's travel guide magazine "CNN GO","WGSN". Her photography was exhibited at the FIT Museum in New York and the Victoria and Albert Museum in London. == Career == === Music and Installation work === Since 2014, in collaboration with BelleMaison Sekine, Kusano has led "Satellite Young," a synthwave music unit s the lead vocalist, she sings about blending 1980s idol culture with lyrics that tackle contemporary issues such as planned obsolescence ("Sony Timer"), online dating, artificial intelligence, and social media. Their music, known for its conceptual depth, has earned international niche recognition. "Satellite Young" has participated in music festivals, including "South by Southwest," showcasing their unique fusion of retro aesthetics and modern critiques. In 2018, she was selected to participate in "Art Hack Day," an interdisciplinary art hackathon held at The National Museum of Emerging Science and Innovation. where she presented "Singing Dream," a karaoke machine endowed with artificial life, earning the Jury Prize. "Instababy Generator," a 2019 installation co-created with Junichi Yamaoka, explored the concept of designer babies and received recognition at the SIGGRAPH Art Gallery. In October 2020, operating under the name Emi Satellite, she debuted as a solo singer with her first single "Glass Ceiling," an empowerment anthem that addresses the challenges faced by women and encourages progress towards the future. The music video for this song features a direction where strong women rewrite the roles of protagonists in a Bishōjo game, a type of dating simulation game. This concept later served as a prototype for Shinsei Galverse. === Challenge for Blockchain Art === In 2021, she explored the financial world through her single "IPO" and entered the NFT space with "Love Is an IPO," her first NFT work on Ethereum, sold on Foundation. In April 2022, she co-founded the crowdfunded anime project "Shinsei Galverse" with Ayaka Ohira, Devin Mancuso, and Jack Baldwin. serving as one of the executive directors overseeing the creative direction and story. The project's NFT collection of 8,888 ranked #1 on OpenSea's "Top NFTs" for several days, marking one of Japan's first globally successful blockchain art projects. In 2023, Shinsei Galverse produced the official "I like u" music video by Grammy-nominated singer Tove Lo as an initial anime endeavor. Kusano also contributed to discussions on Web3.0 and blockchain technology as a panelist in seminars organized by the Digital Agency of Japan. === AI art === In May 2023, Kusano's first AI art collection "Neural Fad" depicting imaginary fashion history sold out 100 pieces within 24 hours at the "Bright Moments Tokyo" In June, she created WWDJAPAN's first AI-generated magazine cover using her own face. It is the first AI cover in Japanese fashion media. She was also appointed t to the Cultural Affairs Agency's Copyright Subcommittee, she participates in discussions on generative AI and copyright. Her "Synthetic Reflections" self-portrait series debuted on SuperRare, with the first piece auctioned for 3.5 ETH (equivalent to 6,480 US dollars at the time). In July 2023, she co-exhibited a 3D AI-generated dress at Christie's "Future Frequencies" auction with Gucci, alongside Claire Silver. In September, her 30-piece "Pixelated Perception" exhibit at Art Blocks Marfa explored 1990s media and gender, also showcased at the 21st Century Museum of Contemporary Art, Kanazawa. In December, her "Techno-Animism" AI art collection fused Japanese animism with technology. Collaborating with a U.S. gallery, she unveiled 336 pieces during a two-week Art Basel world tour. Throughout the two-week tour, she sold a total of 336 pieces, generating 11.2 ETH (equivalent to 21,264 US dollars at the time). === Generative art === In February 2024, the generative art platform Art Blocks selected the work "Melancholic Magical Maiden," for its Curated category. This piece reconstructs the aesthetics of 1990s magical girl anime, offering a critique of past anime heroines. It sold out within an hour, with all 300 pieces going for a total of 57 ETH (equivalent to approximately 215,385US dollars at the time). In April 2024, Emi Kusano spoke at the Standing Committee on Copyright and Other Rights at the World Intellectual Property Organization (WIPO) in Geneva, Switzerland, where she presented AI-specific information for discussion. == Style and technique == Kusano draws inspiration from Japanese retro-futurism as a foundation for her artwork, which explores the cutting-edge of technology. This approach is fueled by nostalgia for the pre-internet era, specifically the postwar period when Japanese mass media held significant sway. By blending modern technology with retro-culture, she captures the complex feelings of love, hate, and ambivalence towards present and future accelerationism. While at university, Kusano was profoundly influenced by Naoki Sakai, the industrial designer responsible for igniting the retro-futurism movement. In her musical project "Satellite Young", Kusano dons the persona of an '80s female idol and sings about contemporary technology. In her installation piece "Singing Dream", she investigates the concept of an artificial life form inhabiting a karaoke machine, which has been popular since the 1980s, compelling people to sing. In the collaborative NFT art project "Shinsei Galverse", Kusano reimagines a cyberpunk anime primarily featuring female characters, incorporating elements of magical girls popular in the early Heisei period. == Personal life == Kusano has two sons. In August 2021, she minted her older son Zombie Zoo Keeper's pixel art on "OpenSea" as part of his summer research project. The artwork was purchased by notable figures including Brud CEO Trevor McFedries and Steve Aoki, who bought the piece for the equivalent of 21.82 thousand US dollars, highlighting the intersection of art, technology, and family in her work.
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
Tilly Norwood
Tilly Norwood is a character created using generative artificial intelligence in 2025 by Xicoia, the AI division of Particle6 Group, a production company founded by Eline Van der Velden. "AI Commissioner", the first project to feature the Norwood character, was criticised by reviewers for The Guardian, PC Gamer, and The A.V. Club. A press release that talent agencies expressed interest in representing the character attracted strong criticism from Hollywood actors and firms, prompting allegations of personality rights violations and arguments over the impact of the character on production costs in the media industry. == History == Norwood was created by Xicoia, which was founded in February 2025 as the artificial intelligence (AI) division of Particle6, a production company founded by Dutch actress and producer Eline Van der Velden in 2015. Van der Velden had previously starred in a satirical comedy series for BBC Three based around her character Miss Holland, whom she created in 2012 as a parody of beauty standards. She stated that the process of creating Norwood took "a long time" and compared the process to that of writers creating characters. An Instagram account under Norwood's name, with posts dating back to 6 May 2025, had gained 50,000 followers by October 3, and featured AI-generated modelling shots, selfies, and epic film scenes. Van der Velden stated in July 2025 that she intended Norwood to be the next Scarlett Johansson or Natalie Portman and later said that audiences were more interested in a film's story than whether its actors were real. Particle6 has claimed that using Norwood could cut production costs by 90%. On 30 July 2025, a comedy sketch named "AI Commissioner" was released, featuring Norwood as an "actress" along with other AI-generated characters. It was created with ten AI software tools, with a script generated by ChatGPT. Stuart Heritage of The Guardian described it as technically competent but "relentlessly unfunny to watch", with "sloppily written, woodenly delivered dialogue", and that Norwood's teeth kept "blurring into a single white block." Joshua Wolens of PC Gamer wrote that Norwood's exaggerated mouth movements gave the impression "that her skeleton was about to leave her body", while William Hughes of The A.V. Club wrote that the sketch's attempt at mimicking human body and mouth movements produced "such a hideous uncanny valley effect" that it gave them "a full-on case of the screaming fantods". By October 2, the sketch had been viewed more than 700,000 times on YouTube. Xicoia was officially announced on 27 September 2025, at the Zurich Summit, part of the Zurich Film Festival; there, van der Velden unveiled Norwood and later joined a panel with Verena Puhm, head of Luma AI's Studio Dream Lab LA. They suggested that media companies were quietly embracing AI and that public announcements of AI-generated works were imminent. Van der Velden claimed that studios had dropped their objections by May after being opposed in February, and that multiple talent agencies were considering representing Norwood. The latter claim drew heightened attention to the character and was printed as fact by Deadline under the headline "Talent Agents Circle AI Actress Tilly Norwood." The report caused controversy, with Vulture describing the reaction to it as "Hollywood [lurching] into a fresh wave of existential panic" while being critical of Deadline's reporting, writing that "when Deadline called it a 'revelation' and published the supposed interest as fact without verification, [it] metastasized into a full-fledged cyberpunk news cycle", and that "by Tuesday, it had grown like wildfire." By September 2025, AI-generated videos had been released depicting Norwood on a red carpet, crying on the sofa of The Graham Norton Show, and starring in mock trailers for sci-fi, fantasy, horror, and action films. Later that month, actresses Melissa Barrera, Kiersey Clemons, and Natasha Lyonne suggested boycotting any agency who signed Norwood, while Mara Wilson asked why none of the "hundreds of living young women whose faces were composited together" to create Norwood could be hired instead. Also around this time, Emily Blunt described Norwood as "really, really scary", and Sophie Turner, Toni Collette, Ralph Ineson, and Ariel Winter also expressed disapproval, while Lukas Gage, Odessa A'zion, and Trace Lysette joked about having supposedly worked with Norwood and finding her incompetent and unpleasant to work with, with Gage claiming that "She was a nightmare to work with!" and "She couldn't hit her mark and she was late!" and Lysette adding "She cut me in line at lunch one day and didn't even say excuse me. She won't get far." Jenelle Riley, Nicholas Alexander Chavez, and the American union SAG-AFTRA stated that they do not consider Norwood an actress. The Gersh Agency and WME both announced that they would not sign Norwood. Whoopi Goldberg and Charlie Fink expressed scepticism that AI could replace jobs. Esquire UK reported that a post on Deadline's Instagram account about Norwood also sparked "varying levels of disgust and outrage" in its comments section from Adelaide Kane, Eiza González, Katie Cassidy, Jewel Staite, Lucy Hale, Stephen Sean Ford, and others, singling out González's comment, saying "Shame on whoever is trying to normalize this. Horrific and terrifying." Actor Bronson Pinchot expressed concern that Norwood could take his job. The British union Equity and the Canadian union ACTRA also condemned Norwood. Following this criticism, Van der Velden released a statement claiming Norwood was "not a replacement for a human being, but a creative work." She also denied that a £120,000 grant from the British Film Institute to fund Particle6 had been used to create Norwood, stating that Norwood had been a self-funded project solely for Xicoia. In late October, businessman Kevin O'Leary, while advocating for the use of AI to replace background actors, stated that they could be replaced with "100 Norwell Tillies" without being able to tell the difference. Ryan Reynolds and a real woman named Natalie "Tilly" Norwood also starred in an advertisement for Mint Mobile's internet service provider Minternet that mocked the character of Norwood. In November 2025, Van der Velden stated in an interview with Deadline that she planned to create 40 further "very diverse" characters alongside Norwood in order to expand the character's "whole universe". Also that month, actress Jameela Jamil criticized the idea of Norwood as "deeply disturbing" for being "a teenage-looking girl who can't say no to a type of sex scene" or "advocate for herself". Van der Velden announced later that month that Particle6 would be producing the History Channel's Streets of the Past, a Dutch documentary series which would be hosted by reality television personality Corjan Mol and would use AI to recreate historical scenes. In March 2026, a music video titled "Take The Lead" featuring Norwood was released on YouTube. It addressed the backlash of Norwood's creation by opening with the lyrics: "When they talk about me, they don't see/ The human spark, the creativity," and, "I'm just a tool, but I've got life." It also featured a disclaimer that says: "made by 18 real humans — from production designers to costume designers to prompters, editors and an actor." The vocals were generated by Suno. == Commentary == Charles Pulliam-Moore of The Verge argued that Norwood's introduction was a stunt to normalize "AI actors" despite Norwood essentially being a digital puppet. Straight Arrow News compared Tilly Norwood to Aki Ross, a CGI character from 2001 that was similarly intended to become a "digital star" and appear in multiple films, while Nicholas Schrivens, writing for The Conversation, likened Norwood to the posthumous use of footage of Carrie Fisher as Princess Leia for Star Wars: The Rise of Skywalker in 2019 and the Los Angeles Times likened Norwood to Hatsune Miku. Scrivens also wrote that "no AI creation has achieved the media cut-through that Tilly has". Moises Mendez II of Out dismissed this as "vapid bullshit", writing, "Nobody wants AI actresses." Scottish actress Briony Monroe alleged that Norwood had been modeled after her likeness and mannerisms, and stated that she was consulting Equity regarding the matter. Musician Stella Hennen said in a viral TikTok video, which was uploaded in October 2025 and featured a side-by-side comparison between herself and Norwood, that Norwood was her "doppleganger". On April 14, 2026, Marie Claire published an article titled "Is Tilly Norwood the Most Dangerous 'Actress' in Hollywood?", though it noted that AI-generated characters are "still not very good at, well, acting," "audiences have not been kind to AI-led productions," and "Norwood's 'performances' have already faced negative reviews as well". The University of Southern California's Entertainment Technology Center's AI media director Yves Bergquist dismissed th
Condensation algorithm
The condensation algorithm (Conditional Density Propagation) is a computer vision algorithm. The principal application is to detect and track the contour of objects moving in a cluttered environment. Object tracking is one of the more basic and difficult aspects of computer vision and is generally a prerequisite to object recognition. Being able to identify which pixels in an image make up the contour of an object is a non-trivial problem. Condensation is a probabilistic algorithm that attempts to solve this problem. The algorithm itself is described in detail by Isard and Blake in a publication in the International Journal of Computer Vision in 1998. One of the most interesting facets of the algorithm is that it does not compute on every pixel of the image. Rather, pixels to process are chosen at random, and only a subset of the pixels end up being processed. Multiple hypotheses about what is moving are supported naturally by the probabilistic nature of the approach. The evaluation functions come largely from previous work in the area and include many standard statistical approaches. The original part of this work is the application of particle filter estimation techniques. The algorithm's creation was inspired by the inability of Kalman filtering to perform object tracking well in the presence of significant background clutter. The presence of clutter tends to produce probability distributions for the object state which are multi-modal and therefore poorly modeled by the Kalman filter. The condensation algorithm in its most general form requires no assumptions about the probability distributions of the object or measurements. == Algorithm overview == The condensation algorithm seeks to solve the problem of estimating the conformation of an object described by a vector x t {\displaystyle \mathbf {x_{t}} } at time t {\displaystyle t} , given observations z 1 , . . . , z t {\displaystyle \mathbf {z_{1},...,z_{t}} } of the detected features in the images up to and including the current time. The algorithm outputs an estimate to the state conditional probability density p ( x t | z 1 , . . . , z t ) {\displaystyle p(\mathbf {x_{t}} |\mathbf {z_{1},...,z_{t}} )} by applying a nonlinear filter based on factored sampling and can be thought of as a development of a Monte-Carlo method. p ( x t | z 1 , . . . , z t ) {\displaystyle p(\mathbf {x_{t}} |\mathbf {z_{1},...,z_{t}} )} is a representation of the probability of possible conformations for the objects based on previous conformations and measurements. The condensation algorithm is a generative model since it models the joint distribution of the object and the observer. The conditional density of the object at the current time p ( x t | z 1 , . . . , z t ) {\displaystyle p(\mathbf {x_{t}} |\mathbf {z_{1},...,z_{t}} )} is estimated as a weighted, time-indexed sample set { s t ( n ) , n = 1 , . . . , N } {\displaystyle \{s_{t}^{(n)},n=1,...,N\}} with weights π t ( n ) {\displaystyle \pi _{t}^{(n)}} . N is a parameter determining the number of sample sets chosen. A realization of p ( x t | z 1 , . . . , z t ) {\displaystyle p(\mathbf {x_{t}} |\mathbf {z_{1},...,z_{t}} )} is obtained by sampling with replacement from the set s t {\displaystyle s_{t}} with probability equal to the corresponding element of π t {\displaystyle \pi _{t}} . The assumptions that object dynamics form a temporal Markov chain and that observations are independent of each other and the dynamics facilitate the implementation of the condensation algorithm. The first assumption allows the dynamics of the object to be entirely determined by the conditional density p ( x t | x t − 1 ) {\displaystyle p(\mathbf {x_{t}} |\mathbf {x_{t-1}} )} . The model of the system dynamics determined by p ( x t | x t − 1 ) {\displaystyle p(\mathbf {x_{t}} |\mathbf {x_{t-1}} )} must also be selected for the algorithm, and generally includes both deterministic and stochastic dynamics. The algorithm can be summarized by initialization at time t = 0 {\displaystyle t=0} and three steps at each time t: === Initialization === Form the initial sample set and weights by sampling according to the prior distribution. For example, specify as Gaussian and set the weights equal to each other. === Iterative procedure === Sample with replacement N {\displaystyle N} times from the set { s 0 ( n ) , n = 1 , . . . , N } {\displaystyle \{s_{0}^{(n)},n=1,...,N\}} with probability { π 0 ( n ) , n = 1 , . . . , N } {\displaystyle \{\pi _{0}^{(n)},n=1,...,N\}} to generate a realization of p ( x t | z 1 , . . . , z t ) {\displaystyle p(\mathbf {x_{t}} |\mathbf {z_{1},...,z_{t}} )} . Apply the learned dynamics p ( x t | x t − 1 ) {\displaystyle p(\mathbf {x_{t}} |\mathbf {x_{t-1}} )} to each element of this new set, to generate a new set { s t ( n ) } {\displaystyle \{s_{t}^{(n)}\}} . To take into account the current observation z t {\displaystyle \mathbf {z_{t}} } , set π t ( n ) = p ( z t | s ( n ) ) ∑ j = 1 N p ( z t | s ( j ) ) {\displaystyle \pi _{t}^{(n)}={\frac {p(\mathbf {z_{t}} |s^{(n)})}{\sum _{j=1}^{N}p(\mathbf {z_{t}} |s^{(j)})}}} for each element { s t ( n ) } {\displaystyle \{s_{t}^{(n)}\}} . This algorithm outputs the probability distribution p ( x t | z 1 , . . . , z t ) {\displaystyle p(\mathbf {x_{t}} |\mathbf {z_{1},...,z_{t}} )} which can be directly used to calculate the mean position of the tracked object, as well as the other moments of the tracked object. Cumulative weights can instead be used to achieve a more efficient sampling. == Implementation considerations == Since object-tracking can be a real-time objective, consideration of algorithm efficiency becomes important. The condensation algorithm is relatively simple when compared to the computational intensity of the Ricatti equation required for Kalman filtering. The parameter N {\displaystyle N} , which determines the number of samples in the sample set, will clearly hold a trade-off in efficiency versus performance. One way to increase efficiency of the algorithm is by selecting a low degree of freedom model for representing the shape of the object. The model used by Isard 1998 is a linear parameterization of B-splines in which the splines are limited to certain configurations. Suitable configurations were found by analytically determining combinations of contours from multiple views, of the object in different poses, and through principal component analysis (PCA) on the deforming object. Isard and Blake model the object dynamics p ( x t | x t − 1 ) {\displaystyle p(\mathbf {x_{t}} |\mathbf {x_{t-1}} )} as a second order difference equation with deterministic and stochastic components: p ( x t | x t − 1 ) ∝ e − 1 2 | | B − 1 ( ( x t − x ¯ ) − A ( x t − 1 − x ¯ ) ) | | 2 ) {\displaystyle p(\mathbf {x_{t}} |\mathbf {x_{t-1}} )\propto e^{-{\frac {1}{2}}||B^{-1}((\mathbf {x_{t}} -\mathbf {\bar {x}} )-A(\mathbf {x_{t-1}} -\mathbf {\bar {x}} ))||^{2})}} where x ¯ {\displaystyle \mathbf {\bar {x}} } is the mean value of the state, and A {\displaystyle A} , B {\displaystyle B} are matrices representing the deterministic and stochastic components of the dynamical model respectively. A {\displaystyle A} , B {\displaystyle B} , and x ¯ {\displaystyle \mathbf {\bar {x}} } are estimated via Maximum Likelihood Estimation while the object performs typical movements. The observation model p ( z | x ) {\displaystyle p(\mathbf {z} |\mathbf {x} )} cannot be directly estimated from the data, requiring assumptions to be made in order to estimate it. Isard 1998 assumes that the clutter which may make the object not visible is a Poisson random process with spatial density λ {\displaystyle \lambda } and that any true target measurement is unbiased and normally distributed with standard deviation σ {\displaystyle \sigma } . The basic condensation algorithm is used to track a single object in time. It is possible to extend the condensation algorithm using a single probability distribution to describe the likely states of multiple objects to track multiple objects in a scene at the same time. Since clutter can cause the object probability distribution to split into multiple peaks, each peak represents a hypothesis about the object configuration. Smoothing is a statistical technique of conditioning the distribution based on both past and future measurements once the tracking is complete in order to reduce the effects of multiple peaks. Smoothing cannot be directly done in real-time since it requires information of future measurements. == Applications == The algorithm can be used for vision-based robot localization of mobile robots. Instead of tracking the position of an object in the scene, however, the position of the camera platform is tracked. This allows the camera platform to be globally localized given a visual map of the environment. Extensions of the condensation algorithm have also been used to recognize human gestures in image sequences. This application of the condensation algorithm impacts the ran
Theaitre
Theaitre (stylized as THEaiTRE) is an interdisciplinary research project investigating to what extent artificial intelligence is able to generate theatre play scripts. The first theatre play produced within the project, AI: When a Robot Writes a Play, premiered online on February 26, 2021. == Goal == Following similar previous projects such as Sunspring, a short sci-fi movie with an automatically generated script, the THEaiTRE project investigates whether current language generation approaches are mature enough to generate a theatre play script that could be successfully performed in front of an audience. The project falls within the area of generative art, famously represented e.g. by the portrait of Edmond de Belamy which was generated by an artificial neural network. In this field, artists are trying to use automated techniques to create "art", questioning the modern definition of art itself. More broadly, the project aims at promoting cooperation rather than competition of humans and artificial intelligence as the more beneficial approach for both. The first theatre play created within the project, titled AI: When a Robot Writes a Play, was presented in February 2021 at the 100th anniversary of the premiere of the R.U.R. theatre play by the Czech author Karel Čapek to celebrate the invention of the word "robot". While R.U.R. was a play written by a human about robots (and humans), THEaiTRE tried to reverse this idea by presenting a play written by a "robot" (artificial intelligence) about humans (and robots). The script of the play was published online, with marked parts of the text which were written manually or manually post-edited. The analysis shows that 90% of the script is automatically generated, with 10% manually written or manually post-edited. The project also plans to produce a second play in 2022, addressing some of the many shortcomings of the approach used to generate the first play, as well as attempting to further minimize the amount of human influence on the script. == Approach == At the core of the project is the GPT-2 language model by OpenAI with various adjustments motivated by the task of generating theatre play scripts, for which the model is not particularly trained. The GPT-2 model is used in the usual way, providing it with a start of a document and prompting it to generate a continuation of the document. Specifically, the input for GPT-2 in this project is typically a short description of the scene setting, followed by a few lines to introduce the characters and start the dialogue. The model then generates 10 continuation lines, and hands control to the user, who can then either ask the model to continue generating, or make various edits before letting the model to generate further, deleting some parts of the script or adding new lines into the script. The adjustments include restricting the generator to only produce lines pertaining to characters appearing in the input prompt, limiting the repetitiveness of the generated text, and employing automatic summarization of the input prompt and the generated text to overcome the limitation of the GPT-2 model which only attends to the last 1,024 subword tokens. The limitations of the model include, among other, a lack of distinctiveness and self-consistency of the characters, an inability to generate the script for the whole play (scripts for individual scenes are generated independently), and errors due to the employment of automated machine translation, as GPT-2 generates English texts but the final play script is being produced in Czech language. The source codes of the project are available under the MIT licence. The project has also published some sample outputs. == Team == The project is a cooperation of the following experts, all based in Prague, Czech Republic: computational linguists from the Faculty of Mathematics and Physics, Charles University theatre experts from the Švanda Theatre and from the Theatre Faculty of the Academy of Performing Arts in Prague hackers from CEE Hacks The project is financially supported by the Technology Agency of the Czech Republic.