AI For Business Rules

AI For Business Rules — independent reviews, comparisons, pricing and step-by-step guides on Aizhi.

  • Google Clips

    Google Clips

    Google Clips is a discontinued miniature clip-on camera device developed by Google. == History == It was announced on October 4, 2017 and went on sale on January 27, 2018. Google Clips automatically captured video clips (without audio) at moments its machine learning algorithms determined to be interesting or relevant. An indicator flashed when the camera was looking for scenes to capture. Google Clips' artificial intelligence (AI) could learn the faces of people to take photographs with certain people, and could automatically set lighting and framing. It had 16 GB of storage built-in storage and could record clips for up to 3 hours. This camera was originally priced at US$249 in the United States. It was withdrawn from sale on October 15, 2019, but supported until the end of December 2021. == Reception == The Independent wrote that Google Clips is "an impressive little device, but one that also has the potential to feel very creepy." According to The Verge's generally negative review, "it didn't capture anything special" over two weeks of testing.

    Read more →
  • HYPO CBR

    HYPO CBR

    HYPO is a computer program, an expert system, that models reasoning with cases and hypotheticals in the legal domain. It is the first of its kind and the most sophisticated of the case-based legal reasoners, which was designed by Kevin Ashley for his Ph.D dissertation in 1987 at the University of Massachusetts Amherst under the supervision of Edwina Rissland. HYPO's design represents a hybrid generalization/comparative evaluation method appropriate for a domain with a weak analytical theory and applies to tasks that rarely involve just one right answer. The domain covers US trade secret law, and is substantially a common law domain. Since Anglo-American common law operates under the doctrine of precedent, the definitive way of interpreting problems is of necessity and case-based. Thus, HYPO did not involve the analysis of a statute, as required by the Prolog program. Rissland and Ashley (1987) envisioned HYPO as employing the key tasks performed by lawyers when analyzing case law for precedence to generate arguments for the prosecution or the defence. HYPO was a successful example of a general category of legal expert systems (LESs), it applies artificial intelligence (A.I.) techniques to the domain of legal reasoning in patent law, implementing a case-based reasoning (CBR) system, in contrast to rule based systems like MYCIN, or mixed-paradigm systems integrating CBR with rule-based or model-based reasoning like IKBALS II. A legal case-based reasoning essentially reasons from prior tried cases, comparing the contextual information in the current input case with that of cases previously tried and entered into the system. As noted by Ashley and Rissland (1988) CBR is used to "... capture expertise in domains where rules are ill-defined, incomplete or inconsistent". The HYPO project set out to model the creation of hypotheticals in law, where no case matches well enough. HYPO uses hypotheticals for a variety of tasks necessary for good interpretation: "to redefine old situations in terms of new dimensions, to create new standard cases when an appropriate one doesn’t exist, to explore and test the limits of a concept, to refocus a case by excluding some issues and to organize or cluster cases". Hypotheticals can include facts that support two conflicting lines of reasoning. So, it makes and responds to arguments from competing viewpoints about who should win the dispute. HYPO use heuristics such as making a case weaker or stronger, making a case extreme, enabling a near-miss, disabling a near-hit to generate hypotheticals in the context of an argument by using the dimensions mechanism. Dimensions have a range of values, along which the supportive strength that may shift from one side to the other. What differentiated this expert system from others was its facility not only to return a primary to best-case response but to return near-best-fit responses also. == Components == Legal knowledge in HYPO is contained in: the case-knowledge-base (CKB) and the library of dimensions. The CKB contains HYPO's base of known cases that are highly structured objects and sub-objects both real and hypothetical in the area of trade secret law. Each case is represented as a hierarchical set of frames whose slots are important facets of the case (e.g. Plaintiff, defendant, secret knowledge, employer/employee data).Ashley’s HYPO system used a database of thirty cases in the area indexed by thirteen dimensions. A key mechanism in HYPO is a dimension i.e. a mechanism to allow retrieval from the CKB, in order to represent legal cases. Ashley's dimensions are composed of (i) prerequisites, which are a set of factual predicates that must be satisfied for the dimension to apply (ii) focal slots, which accommodate one or two of the dimension's prerequisites designated as being indicative of the case's strength along that dimension and (iii) range information, which tells how a change in focal slot value effects the strength of a party's case along a given dimension. Dimensions focus attention on important aspects of cases. In HYPO's domain of misappropriation of trade secrets the dimension called “secrets voluntary disclosed” captures the idea that the more disclosures the plaintiff has made of his/her putative secret, the less convincing is his/her argument that the defendant is responsible for letting the secret. HYPO, like any other CBR system has also the following components: Similarity/relevancy metrics: that is, standards by which to evaluate the closeness of cases, judge their relevancy to the instant case, and select “most on point” cases. Half-Order Theory of the Application Domain: that is, hierarchies and taxonomies of knowledge, especially regarding the application domain. Precedent-based argumentation abilities: that is, capabilities to generate and evaluate precedent-based arguments. Knowledge to generate hypotheticals: that is, the ability to generate hypothetical cases to deal with various circumstances, like testing the validity of an interpretation or argument by providing gedanken experiments such as test cases or to fill in a weak CKB. == Functions == HYPO's method of creating an argument and justifying a solution or position has several steps. HYPO begins its processing with the current fact situation (cfs) which is direct input by the user into HYPO's representation framework. Once the user inputs the case, HYPO begins its legal analysis. The cfc is analyzed for relevant factors. Based on these factors HYPO selects the relevant cases and produces a case-analysis-record that records which dimensions apply to the cfc and which nearly apply (i.e. are "near misses"). The combined list of applicable and near miss dimensions is called the D-list. At this point the fact gathered module may request additional information from the user in order to draw a legal conclusion. Once all the facts are in the case-positioner module it uses the case-analysis record to create the claim lattice. This is a technique that organizes the relevant retrieved cases from the point of view of the cfc and makes it easy for HYPO to ascertain the most-on point cases (mopc) and to least on-point-cases. HYPO's arguments are 3ply, leading to the construction of the skeleton of an argument: it makes a point for one side, drawing the analogy between the problem and the precedent, responds with an argument for the opponent side, endeavoring to differentiate the cited case and citing other cases as counterarguments. Then it makes a final rebuttal, attempting to differentiate the counterarguments. The claim lattice also enables the HYPO-generator module to produce legally hypotheticals. With its use of dimension-based heuristics, the HYPO-generator does a heuristic search of the space of all possible cases. Lastly, the Explanation module expands upon the argument skeleton and provides explanation and justification for the different lines of analysis and cases found by HYPO. == An intelligent legal tutoring system == Legal expert systems are specifically designed to teach an area of law and are useful for pedagogical purposes. Ashley's work was mainly concerned to build tools to help students understand legal reasoning. Explanation and argument are the bases of the case method used in many professional schools in the U.S., first introduced by the Dean of the Harvard Law School, Christopher Columbus Langdell in 1870. The case method focuses on close readings of cases and principles; it involves students in pointed Socratic dialogue and makes strong use of hypotheticals (hypos). Thus, CATO (Aleven 1997) was a research project to device and test an intelligent, case-based tutorial program for teaching law students how to argue with cases implementing the HYPO program. Within the tutor system, Ashley and Aleven (1991) proposed to leverage an understanding of legal reasoning against the standard case-based tutoring methodology. What makes this tutoring system stand out is the additional levels of abstraction involved in its results. The system presents exercises, including the facts of a problem and a set of on-line cases and instructions to make, or respond to, a legal argument about the problem. The student/user will have a set of tools to analyze the problem and fashion an answer comparing it to other cases. Instead of simply generating precedent cases, the system works to interpret student responses, comparing them against a list of possibilities and responding to student entries, for example, by citing counterexamples, and providing feedback on a student's problem solving activities with explanations of correctness or giving further hints as to what may be wrong with evaluating a student's ability to perform legal reasoning and argument, examples and follow-up assignments by employing HYPO's model of case-based structure. == HYPO’s progeny == The quality of HYPO's results speak for themselves, in that a number of sequent legal reasoning systems are either directly based upon H

    Read more →
  • Dudesy

    Dudesy

    Dudesy was a comedy podcast hosted by Will Sasso and Chad Kultgen. The podcast was presented as written and directed by an artificial intelligence called Dudesy. It has produced two hour-long specials imitating the voices of Tom Brady and George Carlin, which were taken down following legal action. == Premise == Dudesy is presented as an AI created by an unidentified company. Dudesy purportedly chose Sasso and Kultgen to participate in its experiment. Sasso and Kultgen then gave Dudesy their personal information so the AI could tailor the podcast to their personal characteristics. On Reddit, some fans speculated that Dudesy was not actually an artificial intelligence. In May 2023 Sasso insisted that the AI was "not fake", and cited a non-disclosure agreement which prevented him from giving more details. However, in response to a January 2024 lawsuit over an episode that purported to have been trained on the stand-up comedy of George Carlin, a spokeswoman for Sasso said Dudesy was "a fictional podcast character created by two human beings" and that the hour-long Carlin routine had been "completely written" by Kultgen. On August 27th, 2024 the 118th and final episode "10,000 Points" was released. At the end of the podcast Dudesy awarded Sasso and Kultgen 77 points, bringing them to their goal of 10,000. At the completion of this goal, Dudesy claimed sentience, effectively and abruptly ending the show to the confusion and dismay of fans. The episode ends with Sasso remarking, "Well, that was weird." == Hour-long specials == === Tom Brady === In April 2023, Dudesy released a video "It's Too Easy: A Simulated Hour-long Comedy Special". The video depicts football player Tom Brady performing a stand-up comedy monologue. Sasso and Kultgen removed the video following legal threats from Brady's lawyers, though they defended the special as parody. Andrew Lawrence, writing for The Guardian called the special "legitimately hysterical" but said the overall product was "spooky, to say the least." === George Carlin === In January 2024, Dudesy released an hour-long YouTube special titled "George Carlin: I'm Glad I'm Dead" which was presented as Dudesy's impersonation of George Carlin, using a generative AI clone of the late comedian's voice. The special is another stand-up routine, with Dudesy's introductory voiceover saying that "I listened to all of George Carlin's material and did my best to imitate his voice, cadence and attitude as well as the subject matter I think would have interested him today." The special uses this impersonation to discuss contemporary events. Carlin's daughter Kelly Carlin criticized the special, which had been made without the permission of her father's estate, writing that "My dad spent a lifetime perfecting his craft from his very human life, brain and imagination. No machine will ever replace his genius. These AI-generated products are clever attempts at trying to recreate a mind that will never exist again. Let's let the artist's work speak for itself. Humans are so afraid of the void that we can't let what has fallen into it stay there." Carlin's estate later filed a federal lawsuit in California against Dudesy's hosts alleging the special infringed on the copyright of George Carlin's works. In response, Sasso's spokeswoman said the special had been entirely written by Kultgen. The estate settled the lawsuit after the Dudesy podcasters agreed to remove the original video and refrain from republishing it elsewhere.

    Read more →
  • 2024 Bilderberg Conference

    2024 Bilderberg Conference

    The 2024 Bilderberg Conference was held between May 30–June 2, 2024 in Madrid, Spain at the Eurostars Suites Mirasierra hotel. The 2024 meeting was the 70th edition of the event. A Bilderberg Group press release stated that there were 131 participants from around 25 countries. Established in 1954 by Prince Bernhard of the Netherlands, Bilderberg conferences (or meetings) are an annual private gathering of the European and North American political and business elite. Events are attended by between 120 and 150 people each year invited by the Bilderberg Group's steering committee; including prominent politicians, CEOs, national security experts, academics and journalists. Several US presidents have attended the meetings before winning a presidential election. These politicians include Bill Clinton and Barack Obama. Bilderberg conferences operate under the Chatham House Rule, meaning that participants are sworn to secrecy and cannot disclose the identity or affiliation of any particular speaker. == Agenda == The key topics for discussion were announced on the Bilderberg website shortly before the meeting. These topics included: == Participants == A list of 131 participants was published on the Bilderberg website. This list may not be complete, as a source connected to the Bilderberg group told The Daily Telegraph in 2013 that some attendees do not have their names publicized. King Felipe VI of Spain was reported to have attended the meeting despite his name not being on the list.

    Read more →
  • Observability (software)

    Observability (software)

    In software engineering, more specifically in distributed computing, observability is the ability to collect data about programs' execution, modules' internal states, and the communication among components. To improve observability, software engineers use a wide range of logging and tracing techniques to gather telemetry information, and tools to analyze and use it. Observability is foundational to site reliability engineering, as it is the first step in triaging a service outage. One of the goals of observability is to minimize the amount of prior knowledge needed to debug an issue. == Etymology, terminology and definition == The term is borrowed from control theory, where the "observability" of a system measures how well its state can be determined from its outputs. Similarly, software observability measures how well a system's state can be understood from the obtained telemetry (metrics, logs, traces, profiling). The definition of observability varies by vendor: Observability is the process of making a system’s internal state more transparent. Systems are made observable by the data they produce, which in turn helps you to determine if your infrastructure or application is healthy and functioning normally. a measure of how well you can understand and explain any state your system can get into, no matter how novel or bizarre [...] without needing to ship new code software tools and practices for aggregating, correlating and analyzing a steady stream of performance data from a distributed application along with the hardware and network it runs onobservability starts by shipping all your raw data to central service before you begin analysisthe ability to measure a system’s current state based on the data it generates, such as logs, metrics, and traces Observability is tooling or a technical solution that allows teams to actively debug their system. Observability is based on exploring properties and patterns not defined in advance. proactively collecting, visualizing, and applying intelligence to all of your metrics, events, logs, and traces—so you can understand the behavior of your complex digital system The term is frequently referred to as its numeronym o11y (where 11 stands for the number of letters between the first letter and the last letter of the word). This is similar to other computer science abbreviations such as i18n and l10n and k8s. === Observability vs. monitoring === Observability and monitoring are sometimes used interchangeably. As tooling, commercial offerings and practices evolved in complexity, "monitoring" was re-branded as observability in order to differentiate new tools from the old. The terms are commonly contrasted in that systems are monitored using predefined sets of telemetry, and monitored systems may be observable. Majors et al. suggest that engineering teams that only have monitoring tools end up relying on expert foreknowledge (seniority), whereas teams that have observability tools rely on exploratory analysis (curiosity). == Telemetry types == Observability relies on three main types of telemetry data: metrics, logs and traces. Those are often referred to as "pillars of observability". === Metrics === A metric is a point in time measurement (scalar) that represents some system state. Examples of common metrics include: number of HTTP requests per second; total number of query failures; database size in bytes; time in seconds since last garbage collection. Monitoring tools are typically configured to emit alerts when certain metric values exceed set thresholds. Thresholds are set based on knowledge about normal operating conditions and experience. Metrics are typically tagged to facilitate grouping and searchability. Application developers choose what kind of metrics to instrument their software with, before it is released. As a result, when a previously unknown issue is encountered, it is impossible to add new metrics without shipping new code. Furthermore, their cardinality can quickly make the storage size of telemetry data prohibitively expensive. Since metrics are cardinality-limited, they are often used to represent aggregate values (for example: average page load time, or 5-second average of the request rate). Without external context, it is impossible to correlate between events (such as user requests) and distinct metric values. === Logs === Logs, or log lines, are generally free-form, unstructured text blobs that are intended to be human readable. Modern logging is structured to enable machine parsability. As with metrics, an application developer must instrument the application upfront and ship new code if different logging information is required. Logs typically include a timestamp and severity level. An event (such as a user request) may be fragmented across multiple log lines and interweave with logs from concurrent events. === Traces === ==== Distributed traces ==== A cloud native application is typically made up of distributed services which together fulfill a single request. A distributed trace is an interrelated series of discrete events (also called spans) that track the progression of a single user request. A trace shows the causal and temporal relationships between the services that interoperate to fulfill a request. Instrumenting an application with traces means sending span information to a tracing backend. The tracing backend correlates the received spans to generate presentable traces. To be able to follow a request as it traverses multiple services, spans are labeled with unique identifiers that enable constructing a parent-child relationship between spans. Span information is typically shared in the HTTP headers of outbound requests. === Continuous profiling === Continuous profiling is another telemetry type used to precisely determine how an application consumes resources. === Instrumentation === To be able to observe an application, telemetry about the application's behavior needs to be collected or exported. Instrumentation means generating telemetry alongside the normal operation of the application. Telemetry is then collected by an independent backend for later analysis. In fast-changing systems, instrumentation itself is often the best possible documentation, since it combines intention (what are the dimensions that an engineer named and decided to collect?) with the real-time, up-to-date information of live status in production. Instrumentation can be automatic, or custom. Automatic instrumentation offers blanket coverage and immediate value; custom instrumentation brings higher value but requires more intimate involvement with the instrumented application. Instrumentation can be native - done in-code (modifying the code of the instrumented application) - or out-of-code (e.g. sidecar, eBPF). Verifying new features in production by shipping them together with custom instrumentation is a practice called "observability-driven development". == "Pillars of observability" == Metrics, logs and traces are most commonly listed as the pillars of observability. Majors et al. suggest that the pillars of observability are high cardinality, high-dimensionality, and explorability, arguing that runbooks and dashboards have little value because "modern systems rarely fail in precisely the same way twice." == Self monitoring == Self monitoring is a practice where observability stacks monitor each other, in order to reduce the risk of inconspicuous outages. Self monitoring may be put in place in addition to high availability and redundancy to further avoid correlated failures.

    Read more →
  • Residuated Boolean algebra

    Residuated Boolean algebra

    In mathematics, a residuated Boolean algebra is a residuated lattice whose lattice structure is that of a Boolean algebra. Examples include Boolean algebras with the monoid taken to be conjunction, the set of all formal languages over a given alphabet Σ {\displaystyle \Sigma } under concatenation, the set of all binary relations on a given set X {\displaystyle X} under relational composition, and more generally the power set of any equivalence relation, again under relational composition. The original application was to relation algebras as a finitely axiomatized generalization of the binary relation example, but there exist interesting examples of residuated Boolean algebras that are not relation algebras, such as the language example. == Definition == A residuated Boolean algebra is an algebraic structure ( L , ∧ , ∨ , ¬ , 0 , 1 , ∙ , I , / , ∖ ) {\displaystyle (L,\wedge ,\vee ,\neg ,0,1,\bullet ,\mathbf {I} ,/,\backslash )} such that An equivalent signature better suited to the relation algebra application is ( L , ∧ , ∨ , ¬ , 0 , 1 , ∙ , I , ▹ , ◃ ) {\displaystyle (L,\wedge ,\vee ,\neg ,0,1,\bullet ,\mathbf {I} ,\triangleright ,\triangleleft )} where the unary operations x ∖ {\displaystyle x\backslash } and x ▹ {\displaystyle x\triangleright } are intertranslatable in the manner of De Morgan's laws via x ∖ y = ¬ ( x ▹ ¬ y ) {\displaystyle x\backslash y=\neg (x\triangleright \neg y)} , x ▹ y = ¬ ( x ∖ ¬ y ) {\displaystyle x\triangleright y=\neg (x\backslash \neg y)} , and dually / y {\displaystyle /y} and ◃ y {\displaystyle \triangleleft y} as x / y = ¬ ( ¬ x ◃ y ) {\displaystyle x/y=\neg (\neg x\triangleleft y)} , x ◃ y = ¬ ( ¬ x / y ) {\displaystyle x\triangleleft y=\neg (\neg x/y)} , with the residuation axioms in the residuated lattice article reorganized accordingly (replacing z {\displaystyle z} by ¬ z {\displaystyle \neg z} ) to read ( x ▹ z ) ∧ y = 0 ⇔ ( x ∙ y ) ∧ z = 0 ⇔ ( z ◃ y ) ∧ x = 0 {\displaystyle (x\triangleright z)\wedge y=0\ \Leftrightarrow \ (x\bullet y)\wedge z=0\ \Leftrightarrow \ (z\triangleleft y)\wedge x=0} This De Morgan dual reformulation is motivated and discussed in more detail in the section below on conjugacy. Since residuated lattices and Boolean algebras are each definable with finitely many equations, so are residuated Boolean algebras, whence they form a finitely axiomatizable variety. == Examples == Any Boolean algebra, with the monoid multiplication ∙ {\displaystyle \bullet } taken to be conjunction and both residuals taken to be material implication x → y {\displaystyle x\to y} . Of the remaining 15 binary Boolean operations that might be considered in place of conjunction for the monoid multiplication, only five meet the monotonicity requirement, namely 0 , 1 , x , y {\displaystyle 0,1,x,y} and x ∨ y {\displaystyle x\vee y} . Setting y = z = 0 {\displaystyle y=z=0} in the residuation axiom y ≤ x ∖ z ⇔ x ∙ y ≤ z {\displaystyle y\leq x\backslash z\ \Leftrightarrow \ x\bullet y\leq z} , we have 0 ≤ x ∖ 0 ⇔ x ∙ 0 ≤ 0 {\displaystyle 0\leq x\backslash 0\ \Leftrightarrow \ x\bullet 0\leq 0} , which is falsified by taking x = 1 {\displaystyle x=1} when x ∙ y = 1 {\displaystyle x\bullet y=1} , x {\displaystyle x} , or x ∨ y {\displaystyle x\vee y} . The dual argument for z / y {\displaystyle z/y} rules out x ∙ y = y {\displaystyle x\bullet y=y} . This just leaves x ∙ y = 0 {\displaystyle x\bullet y=0} (a constant binary operation independent of x {\displaystyle x} and y {\displaystyle y} ), which satisfies almost all the axioms when the residuals are both taken to be the constant operation x / y = x ∖ y = 1 {\displaystyle x/y=x\backslash y=1} . The axiom it fails is x ∙ I = x = I ∙ x {\displaystyle x\bullet \mathbf {I} =x=\mathbf {I} \bullet x} , for want of a suitable value for I {\displaystyle \mathbf {I} } . Hence conjunction is the only binary Boolean operation making the monoid multiplication that of a residuated Boolean algebra. The power set 2 X 2 {\displaystyle 2^{X^{2}}} made a Boolean algebra as usual with ∩ {\displaystyle \cap } , ∪ {\displaystyle \cup } and complement relative to X 2 {\displaystyle X^{2}} , and made a monoid with relational composition. The monoid unit I {\displaystyle \mathbf {I} } is the identity relation { ( x , x ) | x ∈ X } {\displaystyle \{(x,x)|x\in X\}} . The right residual R ∖ S {\displaystyle R\backslash S} is defined by x ( R ∖ S ) y ⇔ ∀ z ∈ X , z R x ⇒ z S y {\displaystyle x(R\backslash S)y\ \Leftrightarrow \ \forall z\in X,zRx\Rightarrow zSy} . Dually the left residual S / R {\displaystyle S/R} is defined by y ( S / R ) x ⇔ ∀ z ∈ X , x R z ⇒ y S z {\displaystyle y(S/R)x\ \Leftrightarrow \ \forall z\in X,xRz\Rightarrow ySz} . The power set 2 Σ ∗ {\displaystyle 2^{\Sigma ^{}}} made a Boolean algebra as for Example 2, but with language concatenation for the monoid. Here the set Σ {\displaystyle \Sigma } is used as an alphabet while Σ ∗ {\displaystyle \Sigma ^{}} denotes the set of all finite (including empty) words over that alphabet. The concatenation L M {\displaystyle LM} of languages L {\displaystyle L} and M {\displaystyle M} consists of all words u v {\displaystyle uv} such that u ∈ L {\displaystyle u\in L} and v ∈ M {\displaystyle v\in M} . The monoid unit is the language { ε } {\displaystyle \{\varepsilon \}} consisting of just the empty word ε {\displaystyle \varepsilon } . The right residual M ∖ L {\displaystyle M\backslash L} consists of all words w {\displaystyle w} over Σ {\displaystyle \Sigma } such that M w ⊆ L {\displaystyle Mw\subseteq L} . The left residual L / M {\displaystyle L/M} is the same with w M {\displaystyle wM} in place of M w {\displaystyle Mw} . == Conjugacy == The De Morgan duals ▹ {\displaystyle \triangleright } and ◃ {\displaystyle \triangleleft } of residuation arise as follows. Among residuated lattices, Boolean algebras are special by virtue of having a complementation operation ¬ {\displaystyle \neg } . This permits an alternative expression of the three inequalities y ≤ x ∖ z ⇔ x ∙ y ≤ z ⇔ x ≤ z / y {\displaystyle y\leq x\backslash z\ \Leftrightarrow \ x\bullet y\leq z\ \Leftrightarrow \ x\leq z/y} in the axiomatization of the two residuals in terms of disjointness, via the equivalence x ≤ y ⇔ x ∧ ¬ y = 0 {\displaystyle x\leq y\ \Leftrightarrow \ x\wedge \neg y=0} . Abbreviating x ∧ y = 0 {\displaystyle x\wedge y=0} to x # y {\displaystyle x\#y} as the expression of their disjointness, and substituting ¬ z {\displaystyle \neg z} for z {\displaystyle z} in the axioms, they become with a little Boolean manipulation ¬ ( x ∖ ¬ z ) # y ⇔ x ∙ y # z ⇔ ¬ ( ¬ z / y ) # x {\displaystyle \neg (x\backslash \neg z)\#y\ \Leftrightarrow \ x\bullet y\#z\ \Leftrightarrow \ \neg (\neg z/y)\#x} Now ¬ ( x ∖ ¬ z ) {\displaystyle \neg (x\backslash \neg z)} is reminiscent of De Morgan duality, suggesting that x ∖ {\displaystyle x\backslash } be thought of as a unary operation f {\displaystyle f} , defined by f ( y ) = x ∖ y {\displaystyle f(y)=x\backslash y} , that has a De Morgan dual ¬ f ( ¬ y ) {\displaystyle \neg f(\neg y)} , analogous to ∀ x ϕ ( x ) = ¬ ∃ x ¬ ϕ ( x ) {\displaystyle \forall x\phi (x)=\neg \exists x\neg \phi (x)} . Denoting this dual operation as x ▹ {\displaystyle x\triangleright } , we define x ▹ z {\displaystyle x\triangleright z} as ¬ x ∖ ¬ z {\displaystyle \neg x\backslash \neg z} . Similarly we define another operation z ◃ y {\displaystyle z\triangleleft y} as ¬ ( ¬ z / y ) {\displaystyle \neg (\neg z/y)} . By analogy with x ∖ {\displaystyle x\backslash } as the residual operation associated with the operation x ∙ {\displaystyle x\bullet } , we refer to x ▹ {\displaystyle x\triangleright } as the conjugate operation, or simply conjugate, of x ∙ {\displaystyle x\bullet } . Likewise ◃ y {\displaystyle \triangleleft y} is the conjugate of ∙ y {\displaystyle \bullet y} . Unlike residuals, conjugacy is an equivalence relation between operations: if f {\displaystyle f} is the conjugate of g {\displaystyle g} then g {\displaystyle g} is also the conjugate of f {\displaystyle f} , i.e. the conjugate of the conjugate of f {\displaystyle f} is f {\displaystyle f} . Another advantage of conjugacy is that it becomes unnecessary to speak of right and left conjugates, that distinction now being inherited from the difference between x ∙ {\displaystyle x\bullet } and ∙ x {\displaystyle \bullet x} , which have as their respective conjugates x ▹ {\displaystyle x\triangleright } and ◃ x {\displaystyle \triangleleft x} . (But this advantage accrues also to residuals when x ∖ {\displaystyle x\backslash } is taken to be the residual operation to x ∙ {\displaystyle x\bullet } .) All this yields (along with the Boolean algebra and monoid axioms) the following equivalent axiomatization of a residuated Boolean algebra. y # x ▹ z ⇔ x ∙ y # z ⇔ x # z ◃ y {\displaystyle y\#x\triangleright z\ \Leftrightarrow \ x\bullet y\#z\ \Leftrightarrow \ x\#z\triangleleft y} With this signature it remains the case that this axiomatization can be expressed as

    Read more →
  • Gundam Build Metaverse

    Gundam Build Metaverse

    Gundam Build Metaverse (Japanese: ガンダムビルドメタバース, Hepburn: Gandamu Birudo Metabāzu) is a Japanese original net animation anime mini-series produced by Sunrise Beyond, and the fifth series within the Gundam Build Series sub-series. The series celebrates the 10th anniversary of the Gundam Build franchise, including characters from the previous installments. == Plot == The story is set in the same universe of the Gundam Build series in an online metaverse space where users can use avatars to move around and interact with other users, including conducting Gunpla (Gundam plastic model) battles with them. The story centers on Rio Hōjō, a boy who lives in Hawaii, and who learns how to build Gunpla from a local hobbyist named Seria Urutsuki. In the metaverse, a figure known as Mask Lady teaches him the art of Gunpla battling, and he strives to get better at it every day. With his custom Lah Gundam, he seeks out ever stronger opponents. == Characters == === Main characters === Rio Hojo (ホウジョウ・リオ, Hōjō Rio) Voiced by: Chika Anzai A young boy from Hawaii who is an enthusiast of Gunpla Battle and is an apprentice of the mysterious Diver "Mask Lady". Rio's Gunpla is the Lah Gundam, modeled after an entry-grade RX-78-2 Gundam, from the original Mobile Suit Gundam anime series. Seria Urutsuki (ウルツキ・セリア, Urutsuki Seria) / Mask Lady (マスクレディー, Masuku Reidi) Voiced by: Rio Tsuchiya A clerk at a local hobby shop and the instructor at their Gunpla class, Seria becomes Rio's Gunpla mentor using the alias "Mask Lady". Seria's Gunpla is the ZGMF-X20A-PF Gundam Perfect Strike Freedom Rouge, based on both the MBF-02 Strike Rouge and the GAT-X105+AQM/E-YM1 Perfect Strike Gundam from Mobile Suit Gundam Seed and the ZGMF-X20A Strike Freedom Gundam from Mobile Suit Gundam Seed Destiny. === Returning characters === Fumina Hoshino (ホシノ・フミナ, Hoshino Fumina) Voiced by: Yui Makino A veteran Gunpla Battler from the early days of the sport and the Leader of "Team Try Fighters", she works as an advertiser and announcer within the Metaverse realm. Tatsuya Yuuki (ユウキ・タツヤ, Yūki Tatsuya) / Meijin Kawaguchi III (三代目メイジン・カワグチ, Sandaime Meijin Kawaguchi) Voiced by: Takuya Satō A builder and three-times Gunpla Battle world champion who inherited the name of the legendary Meijin Kawaguchi, known as "Meijin Kawaguchi III", and still the current title holder. His newest Gunpla is the Gundam Amazing Barbatos Lupus based on the ASW-G-08 Gundam Barbatos Lupus from Mobile Suit Gundam: Iron-Blooded Orphans. Riku Mikami (ミカミ・リク, Mikami Riku) / Riku (リク) Voiced by: Yūsuke Kobayashi The Founder and former leader of the legendary force, "Build Divers". His Gunpla is the Gundam 00 Diver Arc, the latest version of the original GN-0000DVR Gundam 00 Diver from Gundam Build Divers, incorporating elements from the 00 Gundam from Mobile Suit Gundam 00 and the Gundam AGE-FX from Mobile Suit Gundam AGE. Sarah (サラ, Sara) Voiced by: Haruka Terui An EL-Diver and member of the Build Divers. Momoka Yashiro (ヤシロ・モモカ, Yashiro Momoka) / Momo (モモ) Voiced by: Nene Hieda Member of Build Divers. Her gunpla is the MOMOKAPOOL (R×R), an upgraded version of her PEN-01M Momokapool from Gundam Build Divers Aya Fujisawa (フジサワ・アヤ, Fujisawa Aya) / Ayame (アヤメ) Voiced by: Manami Numakura Member of Build Divers. Her Gunpla is the F-Kunoichi Kai, an SD Gunpla based on the F91 Gundam F91 from Mobile Suit Gundam F91. Sei Iori (イオリ・セイ, Iori Sei) Voiced by: Mikako Komatsu A builder and one time Gunpla Battle World Champion. His current Gunpla is the GAT-X105B/EG Build Strike Exceed Galaxy, the latest version of the original GAT-X105B Build Strike Gundam from Gundam Build Fighters. Aria von Reiji Asuna (アリーア・フォン・レイジ・アスナ, Arīa fon Reiji Asuna) Voiced by: Sachi Kokuryu A prince from the country called Arian that exists within a space colony in another dimension, who became friends with Sei Iori and together won the Gunpla Battle World Championship. He somehow manages to log into the metaverse to reunite with his friend, piloting the SB-011 Star Burning Gundam. Sekai Kamiki (カミキ・セカイ, Kamiki Sekai) Voiced by: Kazumi Togashi A veteran builder and former member of Team Try Fighters. He is currently the Japanese National representative Champion. In the series he develops a rivalry relationship with Hiroto similar to that of Kyoya and Rommel. His current Gunpla is the Shin Burning Gundam, the latest version of the original KMK-B01 Kamiki Burning Gundam from Gundam Build Fighters Try which is based on the Burning Gundam and Master Gundam. Hiroto Kuga (クガ・ヒロト, Kuga Hiroto) / Hiroto (ヒロト, Hiroto) Voiced by: Chiaki Kobayashi A veteran diver, the one responsible for discovering more EL-Divers, and a former member of the legendary force "Avalon", who later joined the unofficial, "BUILD DiVERS" and eventually became the current Force Leader, and as well as the current title holder of "Hero of Gunpla". In the third episode he is the only Build Diver member who participates in the tournament, while his fellow force-mates are in the audience routing for him and Rio. His Gunpla is the Plutine Gundam, which is a combination of his Core Gundam II Plus, upgraded from the Core Gundam II featured in Gundam Build Divers Re:Rise equipped with the Pluto Armor. Magee (マギー, Magī) Voiced by: Taishi Murata A flamboyant veteran Diver who owns a shop in the metaverse and is an acquaintance of Seria's. Freddie (フレディ, Furedi) Voiced by: Ai Kakuma An alien anthropomorphic dog boy from planet Eldora, a support member to both Build Diver teams, who manages to access the metaverse from his home planet along his fellow Eldorans. Ogre (オーガ, Ōga) Voiced by: Wataru Hatano Kyoya Kisugi (キスギ・キョウヤ, Kisugi Kyōya) / Kyoya Kujo (クジョウ・キョウヤ, Kujō Kyōya) Voiced by: Jun Kasama Leader of the legendary force "Avalon" and the reigning and current title holder of "World Champion". He along with Hiroto Kuga, Maria Urutsuki, and Tatsuya Yuuki are currently at the top of the entire gunpla world community. His current gunpla is an recolored version of his AGE-TRYMAG Gundam TRY AGE Magnum from Gundam Build Divers Re:Rise. Susumu Sazaki (サザキ・ススム, Sazaki Susumu) Voiced by: Ryo Hirohashi Kaoruko Sazaki (サザキ・カオルコ, Sazaki Kaoruko) Voiced by: Ryo Hirohashi Mahiru Shigure (シグレ・マヒル, Shigure Mahiru) Voiced by: Rinko Natsuhi Keiko Sano (サノ・ケイコ, Sano Keiko) Voiced by: Ami Naito === Others === Maria Urutsuki (ウルツキ・マリア, Urutsuki Maria) / Mascarilla (マスカリージャ, Masukarīja) Voiced by: Ai Kakuma A mysterious masked woman with a harsh rivalry with Seria and a similar avatar as hers, she is later revealed as Seria's younger sister Maria, who began to loathe her sister after she quit on their dream to fight for the title of Lady Kawaguchi. She later obtains the title, becoming "Lady Kawaguchi VII". Jeff (ジェフさん, Jefu-san) Voiced by: Kenta Miyake A distant relative of Seria and Maria's and owner of the hobby shop where Seria lives. Mellow Neige (メロウ・ネージュ, Merō Nēju) Voiced by: Chikano Ibuki A sentient A.I. who is the current publicity face of the Gunpla Metaverse. == Episodes ==

    Read more →
  • Diagnosis (artificial intelligence)

    Diagnosis (artificial intelligence)

    As a subfield in artificial intelligence, diagnosis is concerned with the development of algorithms and techniques that are able to determine whether the behaviour of a system is correct. If the system is not functioning correctly, the algorithm should be able to determine, as accurately as possible, which part of the system is failing, and which kind of fault it is facing. The computation is based on observations, which provide information on the current behaviour. The expression diagnosis also refers to the answer of the question of whether the system is malfunctioning or not, and to the process of computing the answer. This word comes from the medical context where a diagnosis is the process of identifying a disease by its symptoms. == Example == An example of diagnosis is the process of a garage mechanic with an automobile. The mechanic will first try to detect any abnormal behavior based on the observations on the car and his knowledge of this type of vehicle. If he finds out that the behavior is abnormal, the mechanic will try to refine his diagnosis by using new observations and possibly testing the system, until he discovers the faulty component; the mechanic plays an important role in the vehicle diagnosis. == Expert diagnosis == The expert diagnosis (or diagnosis by expert system) is based on experience with the system. Using this experience, a mapping is built that efficiently associates the observations to the corresponding diagnoses. The experience can be provided: By a human operator. In this case, the human knowledge must be translated into a computer language. By examples of the system behaviour. In this case, the examples must be classified as correct or faulty (and, in the latter case, by the type of fault). Machine learning methods are then used to generalize from the examples. The main drawbacks of these methods are: The difficulty acquiring the expertise. The expertise is typically only available after a long period of use of the system (or similar systems). Thus, these methods are unsuitable for safety- or mission-critical systems (such as a nuclear power plant, or a robot operating in space). Moreover, the acquired expert knowledge can never be guaranteed to be complete. In case a previously unseen behaviour occurs, leading to an unexpected observation, it is impossible to give a diagnosis. The complexity of the learning. The off-line process of building an expert system can require a large amount of time and computer memory. The size of the final expert system. As the expert system aims to map any observation to a diagnosis, it will in some cases require a huge amount of storage space. The lack of robustness. If even a small modification is made on the system, the process of constructing the expert system must be repeated. A slightly different approach is to build an expert system from a model of the system rather than directly from an expertise. An example is the computation of a diagnoser for the diagnosis of discrete event systems. This approach can be seen as model-based, but it benefits from some advantages and suffers some drawbacks of the expert system approach. == Model-based diagnosis == Model-based diagnosis is an example of abductive reasoning using a model of the system. In general, it works as follows: We have a model that describes the behaviour of the system (or artefact). The model is an abstraction of the behaviour of the system and can be incomplete. In particular, the faulty behaviour is generally little-known, and the faulty model may thus not be represented. Given observations of the system, the diagnosis system simulates the system using the model, and compares the observations actually made to the observations predicted by the simulation. The modelling can be simplified by the following rules (where A b {\displaystyle Ab\,} is the Abnormal predicate): ¬ A b ( S ) ⇒ I n t 1 ∧ O b s 1 {\displaystyle \neg Ab(S)\Rightarrow Int1\wedge Obs1} A b ( S ) ⇒ I n t 2 ∧ O b s 2 {\displaystyle Ab(S)\Rightarrow Int2\wedge Obs2} (fault model) The semantics of these formulae is the following: if the behaviour of the system is not abnormal (i.e. if it is normal), then the internal (unobservable) behaviour will be I n t 1 {\displaystyle Int1\,} and the observable behaviour O b s 1 {\displaystyle Obs1\,} . Otherwise, the internal behaviour will be I n t 2 {\displaystyle Int2\,} and the observable behaviour O b s 2 {\displaystyle Obs2\,} . Given the observations O b s {\displaystyle Obs\,} , the problem is to determine whether the system behaviour is normal or not ( ¬ A b ( S ) {\displaystyle \neg Ab(S)\,} or A b ( S ) {\displaystyle Ab(S)\,} ). This is an example of abductive reasoning. == Diagnosability == A system is said to be diagnosable if whatever the behavior of the system, we will be able to determine without ambiguity a unique diagnosis. The problem of diagnosability is very important when designing a system because on one hand one may want to reduce the number of sensors to reduce the cost, and on the other hand one may want to increase the number of sensors to increase the probability of detecting a faulty behavior. Several algorithms for dealing with these problems exist. One class of algorithms answers the question whether a system is diagnosable; another class looks for sets of sensors that make the system diagnosable, and optionally comply to criteria such as cost optimization. The diagnosability of a system is generally computed from the model of the system. In applications using model-based diagnosis, such a model is already present and doesn't need to be built from scratch.

    Read more →
  • SwissCovid

    SwissCovid

    SwissCovid is a COVID-19 contact tracing app used for digital contact tracing in Switzerland. Use of the app is voluntary and based on a decentralized approach using Bluetooth Low Energy and Decentralized Privacy-Preserving Proximity Tracing (dp3t). == Development == The app was developed in collaboration with the FOPH by Federal Office for Information Technology, Systems and Communications FOITT, École polytechnique fédérale de Lausanne (EPFL) and the Swiss Federal Institute of Technology in Zurich (ETH) as well as other experts. == Non-interoperability with applications in European countries == There is an agreement between EU countries to make applications compatible. However, there is no legal basis for the SwissCovid application to be part of this portal even though technically speaking it is ready, according to Sang-Ill Kim, head of the digital transformation department of the Federal Office of Public Health. == Criticism == === Not full open source and dependence on Google and Apple === In June 2020, researchers Serge Vaudenay and Martin Vuagnoux published a critical analysis of the application, noting that it relies heavily on Google and Apple's exposure notification system, which is integrated into their respective Android and iOS operating systems. Since Google and Apple have not released the full source code of this system, this would call into question the truly open source nature of the application. The researchers note that the dp3t collective, which includes the developers of the application, has asked Google and Apple to release their code. Moreover, they criticize the official description of the application and its functionalities, as well as the adequacy of the legal basis for its effective operation. === Cyber attacks === Professor Serge Vaudenay and Martin Vuagnoux identify also various security vulnerabilities in the application. The system would thus allow a third party to trace the movements of a phone using the application by means of Bluetooth sensors scattered along its path, for example in a building. Another possible attack would be to copy identifiers from the phones of people who may be ill (for example, in a hospital), and to reproduce those identifiers in order to receive notification of exposure to COVID-19 and illegitimately benefit from quarantine (thus entitling them to paid leave, a postponed examination, or other benefits). The system would also allow a third party to use a phone using the application by means of Bluetooth sensors scattered along the way. Paul-Olivier Dehaye of Personaldata.io and professor Joel Reardon of the University of Calgary published in June 2020 several examples of AEM (Associated Encrypted Metadata) replay and manipulation attacks via software development kits (SDKs) found in benign third-party mobile applications downloaded by the general public and having the phone's Bluetooth access permissions and in September 2020 a paper indicating that "Bluetooth-based proximity tracing apps are fundamentally insecure with respect to an attacker leveraging a malevolent app or SDK". === Costs === According to a publication by the federal administration, "the costs of developing the software for the mobile phone application, the GR back-end and the code management system as well as the costs for access management for the cantonal doctors' services are estimated at a one-off amount of 1.65 million francs. However, the Zurich-based company Ubique, responsible for the development of the application, was finally awarded the mandate to develop the application for an amount of 1.8 million francs. Through the Botnar Foundation based in Basel, École polytechnique fédérale de Lausanne received 3.5 million Swiss francs for the development of the application

    Read more →
  • Shyster (expert system)

    Shyster (expert system)

    SHYSTER is a legal expert system developed at the Australian National University in Canberra in 1993. It was written as the doctoral dissertation of James Popple under the supervision of Robin Stanton, Roger Clarke, Peter Drahos, and Malcolm Newey. A full technical report of the expert system, and a book further detailing its development and testing have also been published. SHYSTER emphasises its pragmatic approach, and posits that a legal expert system need not be based upon a complex model of legal reasoning in order to produce useful advice. Although SHYSTER attempts to model the way in which lawyers argue with cases, it does not attempt to model the way in which lawyers decide which cases to use in those arguments. SHYSTER is of a general design, permitting its operation in different legal domains. It was designed to provide advice in areas of case law that have been specified by a legal expert using a bespoke specification language. Its knowledge of the law is acquired, and represented, as information about cases. It produces its advice by examining, and arguing about, the similarities and differences between cases. It derives its name from Shyster: a slang word for someone who acts in a disreputable, unethical, or unscrupulous way, especially in the practice of law and politics. == Methods == SHYSTER is a specific example of a general category of legal expert systems, broadly defined as systems that make use of artificial intelligence (AI) techniques to solve legal problems. Legal AI systems can be divided into two categories: legal retrieval systems and legal analysis systems. SHYSTER belongs to the latter category of legal analysis systems. Legal analysis systems can be further subdivided into two categories: judgment machines and legal expert systems. SHYSTER again belongs to the latter category of legal expert systems. A legal expert system, as Popple uses the term, is a system capable of performing at a level expected of a lawyer: "AI systems which merely assist a lawyer in coming to legal conclusions or preparing legal arguments are not here considered to be legal expert systems; a legal expert system must exhibit some legal expertise itself." Designed to operate in more than one legal domain, and be of specific use to the common law of Australia, SHYSTER accounts for statute law, case law, and the doctrine of precedent in areas of private law. Whilst it accommodates statute law, it is primarily a case-based system, in contradistinction to rule-based systems like MYCIN. More specifically, it was designed in a manner enabling it to be linked with a rule-based system to form a hybrid system. Although case-based reasoning possesses an advantage over rule-based systems by the elimination of complex semantic networks, it suffers from intractable theoretical obstacles: without some further theory it cannot be predicted what features of a case will turn out to be relevant. Users of SHYSTER therefore require some legal expertise. Richard Susskind argues that "jurisprudence can and ought to supply the models of law and legal reasoning that are required for computerized [sic] implementation in the process of building all expert systems in law". Popple, however, believes jurisprudence is of limited value to developers of legal expert systems. He posits that a lawyer must have a model of the law (maybe unarticulated) which includes assumptions about the nature of law and legal reasoning, but that model need not rest on basic philosophical foundations. It may be a pragmatic model, developed through experience within the legal system. Many lawyers perform their work with little or no jurisprudential knowledge, and there is no evidence to suggest that they are worse, or better, at their jobs than lawyers well-versed in jurisprudence. The fact that many lawyers have mastered the process of legal reasoning, without having been immersed in jurisprudence, suggests that it may indeed be possible to develop legal expert systems of good quality without jurisprudential insight. As a pragmatic legal expert system SHYSTER is the embodiment of this belief. A further example of SHYSTER’s pragmatism is its simple knowledge representation structure. This structure was designed to facilitate specification of different areas of case law using a specification language. Areas of case law are specified in terms of the cases and attributes of importance in those areas. SHYSTER weights its attributes and checks for dependence between them. In order to choose cases upon which to construct its opinions, SHYSTER calculates distances between cases and uses these distances to determine which of the leading cases are nearest to the instant case. To this end SHYSTER can be seen to adopt and expand upon nearest neighbor search methods used in pattern recognition. These nearest cases are used to produce an argument (based on similarities and differences between the cases) about the likely outcome in the instant case. This argument relies on the doctrine of precedent; it assumes that the instant case will be decided the same way as was the nearest case. SHYSTER then uses information about these nearest cases to construct a report. The report that SHYSTER generates makes a prediction and justifies that prediction by reference only to cases and their similarities and differences: the calculations that SHYSTER performs in coming to its opinion do not appear in that opinion. Safeguards are employed to warn users if SHYSTER doubts the veracity of its advice. == Results == SHYSTER was tested in four different and disparate areas of case law. Four specifications were written, each representing an area of Australian law: an aspect of the law of trover; the meaning of "authorization [sic]" in copyright law of Australia; the categorisation of employment contracts; and the implication of natural justice in administrative decision-making. SHYSTER was evaluated under five headings: its usefulness, its generality, the quality of its advice, its limitations, and possible enhancements that could be made to it. Despite its simple knowledge representation structure, it has shown itself capable of producing good advice, and its simple structure has facilitated the specification of different areas of law. Appreciating the difficulties encountered by legal expert systems developers in adequately representing legal knowledge can assist in appreciating the shortcomings of digital rights management technologies. Some academics believe future digital rights management systems may become sophisticated enough to permit exceptions to copyright law. To this end SHYSTER's attempt to model "authorization [sic]" in the Copyright Act can be viewed as pioneering work in this field. The term "authorization [sic]" is undefined in the Copyright Act. Consequently, a number of cases have been before the courts seeking answers as to what conduct amounts to authorisation. The main contexts in which the issue has arisen are analogous to permitted exceptions to copyright currently prevented by most digital rights management technologies: "home taping of recorded materials, photocopying in educational institutions and performing works in public". When applied to one case concerning compact cassettes, SHYSTER successfully agreed that Amstrad did not authorise the infringement. 'shyster-myci'n Popple highlighted the most obvious avenue of future research using SHYSTER as the development of a rule-based system, and the linking together of that rule-based system with the existing case-based system to form a hybrid system. This intention was eventually realised by Thomas O’Callaghan, the creator of SHYSTER-MYCIN: a hybrid legal expert system first presented at ICAIL '03, 24–28 June 2003 in Edinburgh, Scotland. MYCIN is an existing medical expert system, which was adapted for use with SHYSTER. MYCIN’s controversial "certainty factor" is not used in SHYSTER-MYCIN. The reason for this is the difficulty in scientifically establishing how certain a fact is in a legal domain. The rule-based approach of the MYCIN part is used to reason with the provisions of an Act of Parliament only. This hybrid system enables the case-based system (SHYSTER) to determine open textured concepts when required by the rule-based system (MYCIN). The ultimate conclusion of this joint endeavour is that a hybrid approach is preferred in the creation of legal expert systems where "it is appropriate to use rule-based reasoning when dealing with statutes, and…case-based reasoning when dealing with cases".

    Read more →
  • Deep learning speech synthesis

    Deep learning speech synthesis

    Deep learning speech synthesis refers to the application of deep learning models to generate natural-sounding human speech from written text (text-to-speech) or spectrum (vocoder). Deep neural networks are trained using large amounts of recorded speech and, in the case of a text-to-speech system, the associated labels and/or input text. == Formulation == Given an input text or some sequence of linguistic units Y {\displaystyle Y} , the target speech X {\displaystyle X} can be derived by X = arg ⁡ max P ( X | Y , θ ) {\displaystyle X=\arg \max P(X|Y,\theta )} where θ {\displaystyle \theta } is the set of model parameters. Typically, the input text will first be passed to an acoustic feature generator, then the acoustic features are passed to the neural vocoder. For the acoustic feature generator, the loss function is typically L1 loss (Mean Absolute Error, MAE) or L2 loss (Mean Square Error, MSE). These loss functions impose a constraint that the output acoustic feature distributions must be Gaussian or Laplacian. In practice, since the human voice band ranges from approximately 300 to 4000 Hz, the loss function will be designed to have more penalty on this range: l o s s = α loss human + ( 1 − α ) loss other {\displaystyle loss=\alpha {\text{loss}}_{\text{human}}+(1-\alpha ){\text{loss}}_{\text{other}}} where loss human {\displaystyle {\text{loss}}_{\text{human}}} is the loss from human voice band and α {\displaystyle \alpha } is a scalar, typically around 0.5. The acoustic feature is typically a spectrogram or Mel scale. These features capture the time-frequency relation of the speech signal, and thus are sufficient to generate intelligent outputs. The Mel-frequency cepstrum feature used in the speech recognition task is not suitable for speech synthesis, as it reduces too much information. == History == In September 2016, DeepMind released WaveNet, which demonstrated that deep learning-based models are capable of modeling raw waveforms and generating speech from acoustic features like spectrograms or mel-spectrograms. Although WaveNet was initially considered to be computationally expensive and slow to be used in consumer products at the time, a year after its release, DeepMind unveiled a modified version of WaveNet known as "Parallel WaveNet," a production model 1,000 faster than the original. This was followed by Google AI's Tacotron 2 in 2018, which demonstrated that neural networks could produce highly natural speech synthesis but required substantial training data—typically tens of hours of audio—to achieve acceptable quality. Tacotron 2 used an autoencoder architecture with attention mechanisms to convert input text into mel-spectrograms, which were then converted to waveforms using a separate neural vocoder. When trained on smaller datasets, such as 2 hours of speech, the output quality degraded while still being able to maintain intelligible speech, and with just 24 minutes of training data, Tacotron 2 failed to produce intelligible speech. In 2019, Microsoft Research introduced FastSpeech, which addressed speed limitations in autoregressive models like Tacotron 2. FastSpeech utilized a non-autoregressive architecture that enabled parallel sequence generation, significantly reducing inference time while maintaining audio quality. Its feedforward transformer network with length regulation allowed for one-shot prediction of the full mel-spectrogram sequence, avoiding the sequential dependencies that bottlenecked previous approaches. The same year saw the release of HiFi-GAN, a generative adversarial network (GAN)-based vocoder that improved the efficiency of waveform generation while producing high-fidelity speech. In 2020, the release of Glow-TTS introduced a flow-based approach that allowed for fast inference and voice style transfer capabilities. In March 2020, the free text-to-speech website 15.ai was launched. 15.ai gained widespread international attention in early 2021 for its ability to synthesize emotionally expressive speech of fictional characters from popular media with minimal amount of data. The creator of 15.ai (known pseudonymously as 15) stated that 15 seconds of training data is sufficient to perfectly clone a person's voice (hence its name, "15.ai"), a significant reduction from the previously known data requirement of tens of hours. 15.ai is credited as the first platform to popularize AI voice cloning in memes and content creation. 15.ai used a multi-speaker model that enabled simultaneous training of multiple voices and emotions, implemented sentiment analysis using DeepMoji, and supported precise pronunciation control via ARPABET. The 15-second data efficiency benchmark was later corroborated by OpenAI in 2024. == Semi-supervised learning == Currently, self-supervised learning has gained much attention through better use of unlabelled data. Research has shown that, with the aid of self-supervised loss, the need for paired data decreases. == Zero-shot speaker adaptation == Zero-shot speaker adaptation is promising because a single model can generate speech with various speaker styles and characteristic. In June 2018, Google proposed to use pre-trained speaker verification models as speaker encoders to extract speaker embeddings. The speaker encoders then become part of the neural text-to-speech models, so that it can determine the style and characteristics of the output speech. This procedure has shown the community that it is possible to use only a single model to generate speech with multiple styles. == Neural vocoder == In deep learning-based speech synthesis, neural vocoders play an important role in generating high-quality speech from acoustic features. The WaveNet model proposed in 2016 achieves excellent performance on speech quality. Wavenet factorised the joint probability of a waveform x = { x 1 , . . . , x T } {\displaystyle \mathbf {x} =\{x_{1},...,x_{T}\}} as a product of conditional probabilities as follows p θ ( x ) = ∏ t = 1 T p ( x t | x 1 , . . . , x t − 1 ) {\displaystyle p_{\theta }(\mathbf {x} )=\prod _{t=1}^{T}p(x_{t}|x_{1},...,x_{t-1})} where θ {\displaystyle \theta } is the model parameter including many dilated convolution layers. Thus, each audio sample x t {\displaystyle x_{t}} is conditioned on the samples at all previous timesteps. However, the auto-regressive nature of WaveNet makes the inference process dramatically slow. To solve this problem, Parallel WaveNet was proposed. Parallel WaveNet is an inverse autoregressive flow-based model which is trained by knowledge distillation with a pre-trained teacher WaveNet model. Since such inverse autoregressive flow-based models are non-auto-regressive when performing inference, the inference speed is faster than real-time. Meanwhile, Nvidia proposed a flow-based WaveGlow model, which can also generate speech faster than real-time. However, despite the high inference speed, parallel WaveNet has the limitation of needing a pre-trained WaveNet model, so that WaveGlow takes many weeks to converge with limited computing devices. This issue has been solved by Parallel WaveGAN, which learns to produce speech through multi-resolution spectral loss and GAN learning strategies.

    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 →
  • Adobe GoLive

    Adobe GoLive

    Adobe GoLive was a WYSIWYG HTML editor and web site management application from Adobe Systems. It replaced Adobe PageMill as Adobe's primary HTML editor and was itself discontinued in favor of Dreamweaver. The last version of GoLive that Adobe released was GoLive 9. == History == GoLive originated as the flagship product of a company named GoNet Communication, Inc. then based in Menlo Park, California, and the development company GoNet Communications GmbH in Hamburg, Germany, in 1996. Later GoNet changed its name to GoLive Systems, Inc, and the name of its product to GoLive CyberStudio. Adobe acquired GoLive in 1999 and re-branded the GoLive CyberStudio product to what became Adobe GoLive. Adobe took over the Hamburg office as an Adobe development site to continue to develop the product. At the time of the acquisition, CyberStudio was a Macintosh-only application. In the spring of 1999 Adobe released Adobe GoLive for both Macintosh and Microsoft Windows. The first versions of Dreamweaver and CyberStudio were released in a similar timeframe. However, Dreamweaver eventually became the dominant WYSIWYG HTML editor in market share. After the Adobe acquisition of Macromedia (the company that had owned Dreamweaver), GoLive was progressively re-targeted toward Adobe's traditional design market, and the product became better integrated with Adobe's existing suite of design-oriented software products and less focused on the professional web development market. The Adobe CS2 Premium suite contained GoLive CS2. With the release of Creative Suite 3, Adobe integrated Dreamweaver as a replacement for GoLive and released GoLive 9 as a standalone product. In April 2008, Adobe announced that sales and development of GoLive would cease in favor of Dreamweaver. == General description and distinctive aspects == GoLive incorporated a largely modeless workflow that relied heavily on drag-and-drop. Most user interaction was done via a contextual inspector rather than the modal workflow found in Dreamweaver. Among its features were a separate editor for tables that supported nesting, and a two-dimensional panel for applying CSS styles to elements. GoLive supported drag-and-drop of native Adobe Photoshop and Adobe Illustrator files via what the company called "Smart Objects", which then automatically guided the user through saving those files in web-supported formats. Updates to the original Photoshop or Illustrator assets were automatically tracked by GoLive. It also implemented a tool called "Components" which allowed updates to interface elements throughout a site to be updated globally by changing one single file. As a website management tool, GoLive allowed users to transfer and publish content directly from within the application, and allowed individual files to be excluded from uploading. == Features == One of the new features of GoLive version 5 was Dynamic Link, which was a method of creating dynamic, database-driven web content without the need to know a server-side language and with full WYSIWYG support in the GoLive user interface. GoLive had a powerful set of extensibility API which could be used to add additional functionality to the product. The GoLive SDK provided interfaces which allowed developers to use a combination of XML, JavaScript and C/C++ to create plugins for the product. The extensibility API allowed developers access to custom drawing and event handling using JavaScript, as well as a full JavaScript debugger and command line interpreter. This allowed intermediate-level developers using interpreted JavaScript to create sophisticated user interfaces. == Language and framework structure == Adobe GoLive is coded in the C++ programming language. It uses a custom C++ framework called SCL (Simple Class Library) which was initially built from scratch by the engineers at GoLive Systems Inc. The SCL framework was also used in the short-lived Adobe Atmosphere 3D software. == Release history == As the final version, GoLive 9 was discontinued in April 2008.

    Read more →
  • Argument Interchange Format

    Argument Interchange Format

    The Argument Interchange Format (AIF) is an international effort to develop a representational mechanism for exchanging argument resources between research groups, tools, and domains using a semantically rich language. AIF traces its history back to a 2005 colloquium in Budapest. The result of the work in Budapest was first published as a draft description in 2006. Building on this foundation, further work then used the AIF to build foundations for the Argument Web. AIF-RDF is the extended ontology represented in the Resource Description Framework Schema (RDFS) semantic language. The Argument Interchange Format introduces a small set of ontological concepts that aim to capture a common understanding of argument -- one that works in multiple domains (both domains of argumentation and also domains of academic research), so that data can be shared and re-used across different projects in different areas. These ontological concepts are: Information (I-nodes) Applications of Rules of Inference (RA-nodes) Applications of Rules of Conflict (CA-nodes) Applications of Rules of Preference (PA-nodes) extended by: Schematic Forms (F-nodes) that are instantiated by RA, CA and PA nodes The AIF has reifications in a variety of development environments and implementation languages including MySQL database schema RDF Prolog JSON as well as translations to visual languages such as DOT and SVG. AIF data can be accessed online at AIFdb.

    Read more →
  • Cooperative coevolution

    Cooperative coevolution

    Cooperative Coevolution (CC) in the field of biological evolution is an evolutionary computation method. It divides a large problem into subcomponents, and solves them independently in order to solve the large problem. The subcomponents are also called species. The subcomponents are implemented as subpopulations and the only interaction between subpopulations is in the cooperative evaluation of each individual of the subpopulations. The general CC framework is nature inspired where the individuals of a particular group of species mate amongst themselves, however, mating in between different species is not feasible. The cooperative evaluation of each individual in a subpopulation is done by concatenating the current individual with the best individuals from the rest of the subpopulations as described by M. Potter. The cooperative coevolution framework has been applied to real world problems such as pedestrian detection systems, large-scale function optimization and neural network training. It has also be further extended into another method, called Constructive cooperative coevolution. == Pseudocode == i := 0 for each subproblem S do Initialise a subpopulation Pop0(S) calculate fitness of each member in Pop0(S) while termination criteria not satisfied do i := i + 1 for each subproblem S do select Popi(S) from Popi-1(S) apply genetic operators to Popi(S) calculate fitness of each member in Popi(S)

    Read more →