Best Writing AI

Best Writing AI — independent reviews, comparisons, pricing and step-by-step guides on Aizhi.

  • Decorrelation

    Decorrelation

    Decorrelation is a general term for any process that is used to reduce autocorrelation within a signal, or cross-correlation within a set of signals, while preserving other aspects of the signal. A frequently used method of decorrelation is the use of a matched linear filter to reduce the autocorrelation of a signal as far as possible. Since the minimum possible autocorrelation for a given signal energy is achieved by equalising the power spectrum of the signal to be similar to that of a white noise signal, this is often referred to as signal whitening. == Process == === Signal processing === Most decorrelation algorithms are linear, but there are also non-linear decorrelation algorithms. Many data compression algorithms incorporate a decorrelation stage. For example, many transform coders first apply a fixed linear transformation that would, on average, have the effect of decorrelating a typical signal of the class to be coded, prior to any later processing. This is typically a Karhunen–Loève transform, or a simplified approximation such as the discrete cosine transform. By comparison, sub-band coders do not generally have an explicit decorrelation step, but instead exploit the already-existing reduced correlation within each of the sub-bands of the signal, due to the relative flatness of each sub-band of the power spectrum in many classes of signals. Linear predictive coders can be modelled as an attempt to decorrelate signals by subtracting the best possible linear prediction from the input signal, leaving a whitened residual signal. Decorrelation techniques can also be used for many other purposes, such as reducing crosstalk in a multi-channel signal, or in the design of echo cancellers. In image processing decorrelation techniques can be used to enhance or stretch, colour differences found in each pixel of an image. This is generally termed as 'decorrelation stretching'. === Neuroscience === In neuroscience, decorrelation is used in the analysis of the neural networks in the human visual system. The raw inputs from cone cells and rod cells under go many steps of processing before it is handled by the visual cortex. These steps generally perform decorrelation, both spatial (surround suppression in the retina) and temporal (handling of movement in the lateral geniculate nucleus). === Cryptography === In cryptography, decorrelation is used in cipher design (see Decorrelation theory) and in the design of hardware random number generators.

    Read more →
  • Stanford Research Institute Problem Solver

    Stanford Research Institute Problem Solver

    The Stanford Research Institute Problem Solver, known by its acronym STRIPS, is an automated planner developed by Richard Fikes and Nils Nilsson in 1971 at SRI International. The same name was later used to refer to the formal language of the inputs to this planner. This language is the base for most of the languages for expressing automated planning problem instances in use today; such languages are commonly known as action languages. This article only describes the language, not the planner. == Definition == A STRIPS instance is composed of: An initial state; The specification of the goal states – situations that the planner is trying to reach; A set of actions. For each action, the following are included: preconditions (what must be established before the action is performed); postconditions (what is established after the action is performed). Mathematically, a STRIPS instance is a quadruple ⟨ P , O , I , G ⟩ {\displaystyle \langle P,O,I,G\rangle } , in which each component has the following meaning: P {\displaystyle P} is a set of conditions (i.e., propositional variables); O {\displaystyle O} is a set of operators (i.e., actions); each operator is itself a quadruple ⟨ α , β , γ , δ ⟩ {\displaystyle \langle \alpha ,\beta ,\gamma ,\delta \rangle } , each element being a set of conditions. These four sets specify, in order, which conditions must be true for the action to be executable, which ones must be false, which ones are made true by the action and which ones are made false; I {\displaystyle I} is the initial state, given as the set of conditions that are initially true (all others are assumed false); G {\displaystyle G} is the specification of the goal state; this is given as a pair ⟨ N , M ⟩ {\displaystyle \langle N,M\rangle } , which specify which conditions are true and false, respectively, in order for a state to be considered a goal state. A plan for such a planning instance is a sequence of operators that can be executed from the initial state and that leads to a goal state. Formally, a state is a set of conditions: a state is represented by the set of conditions that are true in it. Transitions between states are modeled by a transition function, which is a function mapping states into new states that result from the execution of actions. Since states are represented by sets of conditions, the transition function relative to the STRIPS instance ⟨ P , O , I , G ⟩ {\displaystyle \langle P,O,I,G\rangle } is a function succ : 2 P × O → 2 P , {\displaystyle \operatorname {succ} :2^{P}\times O\rightarrow 2^{P},} where 2 P {\displaystyle 2^{P}} is the set of all subsets of P {\displaystyle P} , and is therefore the set of all possible states. The transition function succ {\displaystyle \operatorname {succ} } for a state C ⊆ P {\displaystyle C\subseteq P} , can be defined as follows, using the simplifying assumption that actions can always be executed but have no effect if their preconditions are not met: The function succ {\displaystyle \operatorname {succ} } can be extended to sequences of actions by the following recursive equations: succ ⁡ ( C , [ ] ) = C {\displaystyle \operatorname {succ} (C,[\ ])=C} succ ⁡ ( C , [ a 1 , a 2 , … , a n ] ) = succ ⁡ ( succ ⁡ ( C , a 1 ) , [ a 2 , … , a n ] ) {\displaystyle \operatorname {succ} (C,[a_{1},a_{2},\ldots ,a_{n}])=\operatorname {succ} (\operatorname {succ} (C,a_{1}),[a_{2},\ldots ,a_{n}])} A plan for a STRIPS instance is a sequence of actions such that the state that results from executing the actions in order from the initial state satisfies the goal conditions. Formally, [ a 1 , a 2 , … , a n ] {\displaystyle [a_{1},a_{2},\ldots ,a_{n}]} is a plan for G = ⟨ N , M ⟩ {\displaystyle G=\langle N,M\rangle } if F = succ ⁡ ( I , [ a 1 , a 2 , … , a n ] ) {\displaystyle F=\operatorname {succ} (I,[a_{1},a_{2},\ldots ,a_{n}])} satisfies the following two conditions: N ⊆ F {\displaystyle N\subseteq F} M ∩ F = ∅ {\displaystyle M\cap F=\varnothing } == Extensions == The above language is actually the propositional version of STRIPS; in practice, conditions are often about objects: for example, that the position of a robot can be modeled by a predicate A t {\displaystyle At} , and A t ( r o o m 1 ) {\displaystyle At(room1)} means that the robot is in Room1. In this case, actions can have free variables, which are implicitly existentially quantified. In other words, an action represents all possible propositional actions that can be obtained by replacing each free variable with a value. The initial state is considered fully known in the language described above: conditions that are not in I {\displaystyle I} are all assumed false. This is often a limiting assumption, as there are natural examples of planning problems in which the initial state is not fully known. Extensions of STRIPS have been developed to deal with partially known initial states. == A sample STRIPS problem == A monkey is at location A in a lab. There is a box in location C. The monkey wants the bananas that are hanging from the ceiling in location B, but it needs to move the box and climb onto it in order to reach them. Initial state: At(A), Level(low), BoxAt(C), BananasAt(B) Goal state: Have(bananas) Actions: // move from X to Y _Move(X, Y)_ Preconditions: At(X), Level(low) Postconditions: not At(X), At(Y) // climb up on the box _ClimbUp(Location)_ Preconditions: At(Location), BoxAt(Location), Level(low) Postconditions: Level(high), not Level(low) // climb down from the box _ClimbDown(Location)_ Preconditions: At(Location), BoxAt(Location), Level(high) Postconditions: Level(low), not Level(high) // move monkey and box from X to Y _MoveBox(X, Y)_ Preconditions: At(X), BoxAt(X), Level(low) Postconditions: BoxAt(Y), not BoxAt(X), At(Y), not At(X) // take the bananas _TakeBananas(Location)_ Preconditions: At(Location), BananasAt(Location), Level(high) Postconditions: Have(bananas) == Complexity == Deciding whether any plan exists for a propositional STRIPS instance is PSPACE-complete. Various restrictions can be enforced in order to decide if a plan exists in polynomial time or at least make it an NP-complete problem. == Macro operator == In the monkey and banana problem, the robot monkey has to execute a sequence of actions to reach the banana at the ceiling. A single action provides a small change in the game. To simplify the planning process, it make sense to invent an abstract action, which isn't available in the normal rule description. The super-action consists of low level actions and can reach high-level goals. The advantage is that the computational complexity is lower, and longer tasks can be planned by the solver. Identifying new macro operators for a domain can be realized with genetic programming. The idea is, not to plan the domain itself, but in the pre-step, a heuristics is created that allows the domain to be solved much faster. In the context of reinforcement learning, a macro-operator is called an option. Similar to the definition within AI planning, the idea is, to provide a temporal abstraction (span over a longer period) and to modify the game state directly on a higher layer.

    Read more →
  • HiLog

    HiLog

    HiLog is a programming logic with higher-order syntax, which allows arbitrary terms to appear in predicate and function positions. However, the model theory of HiLog is first-order. Although syntactically HiLog strictly extends first order logic, HiLog can be embedded into this logic. HiLog was first described in 1989. It was later extended in the direction of many-sorted logic. The XSB system parses HiLog syntax, but the integration of HiLog into XSB is only partial. In particular, HiLog is not integrated with the XSB module system. A full implementation of HiLog is available in the Flora-2 system. It has been shown that HiLog can be embedded into first-order logic through a fairly simple transformation. For instance, p(X)(Y,Z(V)(W)) gets embedded as the following first-order term: apply(p(X),Y,apply(apply(Z,V),W)). The Framework for Logic-Based Dialects (RIF-FLD) of the Rule Interchange Format (RIF) is largely based on the ideas underlying HiLog and F-logic. == Examples == In all the examples below, capitalized symbols denote variables and the comma denotes logical conjunction, as in most logic programming languages. The first and the second examples show that variables can appear in predicate positions. Predicates can even be complex terms, such as closure(P) or maplist(F) below. The third example shows that variables can also appear in place of atomic formulas, while the fourth example illustrates the use of variables in place of function symbols. The first example defines a generic transitive closure operator, which can be applied to an arbitrary binary predicate. The second example is similar. It defines a LISP-like mapping operator, which applies to an arbitrary binary predicate. The third example shows that the Prolog meta-predicate call/1 can be expressed in HiLog in a natural way and without the use of extra-logical features. The last example defines a predicate that traverses arbitrary binary trees represented as first-order terms.

    Read more →
  • Drools

    Drools

    Drools is a business rule management system (BRMS) with a forward and backward chaining inference-based rules engine, more correctly known as a production rule system, using an enhanced implementation of the Rete algorithm. Drools supports the Java Rules Engine API (Java Specification Request 94) standard for its business rule engine and enterprise framework for the construction, maintenance, and enforcement of business policies in an organization, application, or service. == Drools in Apache Kie == Drools, as part of the Kie Community has entered Apache Incubator in January, 2023. == Red Hat Decision Manager == Red Hat Decision Manager (formerly Red Hat JBoss BRMS) is a business rule management system and reasoning engine for business policy and rules development, access, and change management. JBoss Enterprise BRMS is a productized version of Drools with enterprise-level support available. JBoss Rules is also a productized version of Drools, but JBoss Enterprise BRMS is the flagship product. Components of the enterprise version: JBoss Enterprise Web Platform – the software infrastructure, supported to run the BRMS components only JBoss Enterprise Application Platform or JBoss Enterprise SOA Platform – the software infrastructure, supported to run the BRMS components only Business Rules Engine – Drools Expert using the Rete algorithm and the Drools Rule Language (DRL) Business Rules Manager – Drools Guvnor - Guvnor is a centralized repository for Drools Knowledge Bases, with rich web-based GUIs, editors, and tools to aid in the management of large numbers of rules. Business Rules Repository – Drools Guvnor Drools and Guvnor are JBoss Community open source projects. As they are mature, they are brought into the enterprise-ready product JBoss Enterprise BRMS. Components of the JBoss Community version: Drools Guvnor (Business Rules Manager) – a centralized repository for Drools Knowledge Bases Drools Expert (rule engine) – uses the rules to perform reasoning Drools Flow (process/workflow), or jBPM 5 – provides for workflow and business processes Drools Fusion (event processing/temporal reasoning) – provides for complex event processing Drools Planner/OptaPlanner (automated planning) – optimizes automated planning, including NP-hard planning problems == Example == This example illustrates a simple rule to print out information about a holiday in July. It checks a condition on an instance of the Holiday class, and executes Java code if that condition is true. The purpose of dialect "mvel" is to point the getter and setters of the variables of your Plain Old Java Object (POJO) classes. Consider the above example, in which a Holiday class is used and inside the circular brackets (parentheses) "month" is used. So with the help of dialect "mvel" the getter and setters of the variable "month" can be accessed. Dialect "java" is used to help us write our Java code in our rules. There is one restriction or characteristic on this. We cannot use Java code inside the "when" part of the rule but we can use Java code in the "then" part. We can also declare a Reference variable $h1 without the $ symbol. There is no restriction on this. The main purpose of putting the $ symbol before the variable is to mark the difference between variables of POJO classes and Rules.

    Read more →
  • Picture Prowler

    Picture Prowler

    Picture Prowler was an early piece of photo management software developed around and meant to show off Xing Technology's JPEG image decompression library during the early 1990s. Little known today, it featured thumbnail based picture management, printing, etc. The primary developer was Ray Bunnage from compression / decompression libraries developed by Howard Gordon and Chris Eddy.

    Read more →
  • Public First Action

    Public First Action

    Public First Action is a 501(c)(4) nonprofit organization focused on United States public policy related to artificial intelligence. Public First Action is a bipartisan group that advocates for AI transparency, safeguards, and export controls on advanced AI chips. The organization is aligned with the political action committees Jobs and Democracy, Defending Our Values and Public First. == History == Public First Action was formed in 2025 by former Congressmen Brad Carson, a Democrat, and Chris Stewart, a Republican, to advocate for federal, state, and local regulations related to AI. The group's formation followed the founding of a super PAC network, Leading the Future, which advocates for deregulation of the AI industry and faster development of the new technology. Public First Action supports measures that would increase transparency at frontier AI companies and impose export controls on advanced AI chips, in addition to opposing the preemption of state-level AI laws. In February 2026, Public First Action received $20 million from the AI company Anthropic. That same month, the group announced plans to support 30 to 50 Democrats and Republicans in state and federal races, with Public First Action and aligned super PACs launching advertisements in Nebraska, Tennessee, and other states. In one ad, Public First Action touted Senator Marsha Blackburn for her work on child online safety. As of 2026, the group plans to raise between $50 and $75 million for public oversight of AI and related reforms. == Organization == === Leadership and funding === Public First Action is led by Carson and Stewart. The group has raised nearly $50 million in funding with a goal of raising $75 million during the 2026 midterms. Anthropic has contributed $20 million to the group. === Structure === Public First Action is aligned with three political action committees: "Jobs and Democracy", which supports Democratic candidates; "Defending Our Values", which supports Republican candidates; and "Public First", which supports both Republicans and Democrats.

    Read more →
  • Region connection calculus

    Region connection calculus

    The region connection calculus (RCC) is intended to serve for qualitative spatial representation and reasoning. RCC abstractly describes regions (in Euclidean space, or in a topological space) by their possible relations to each other. RCC8 consists of 8 basic relations that are possible between two regions: disconnected (DC) externally connected (EC) equal (EQ) partially overlapping (PO) tangential proper part (TPP) tangential proper part inverse (TPPi) non-tangential proper part (NTPP) non-tangential proper part inverse (NTPPi) From these basic relations, combinations can be built. For example, proper part (PP) is the union of TPP and NTPP. == Axioms == RCC is governed by two axioms. for any region x, x connects with itself for any region x, y, if x connects with y, y connects with x == Remark on the axioms == The two axioms describe two features of the connection relation, but not the characteristic feature of the connect relation. For example, we can say that an object is less than 10 meters away from itself and that if object A is less than 10 meters away from object B, object B will be less than 10 meters away from object A. So, the relation 'less-than-10-meters' also satisfies the above two axioms, but does not talk about the connection relation in the intended sense of RCC. == Composition table == The composition table of RCC8 are as follows: "" denotes the universal relation, no relation can be discarded. Usage example: if a TPP b and b EC c, (row 4, column 2) of the table says that a DC c or a EC c. == Examples == The RCC8 calculus is intended for reasoning about spatial configurations. Consider the following example: two houses are connected via a road. Each house is located on an own property. The first house possibly touches the boundary of the property; the second one surely does not. What can we infer about the relation of the second property to the road? The spatial configuration can be formalized in RCC8 as the following constraint network: house1 DC house2 house1 {TPP, NTPP} property1 house1 {DC, EC} property2 house1 EC road house2 { DC, EC } property1 house2 NTPP property2 house2 EC road property1 { DC, EC } property2 road { DC, EC, TPP, TPPi, PO, EQ, NTPP, NTPPi } property1 road { DC, EC, TPP, TPPi, PO, EQ, NTPP, NTPPi } property2 Using the RCC8 composition table and the path-consistency algorithm, we can refine the network in the following way: road { PO, EC } property1 road { PO, TPP } property2 That is, the road either overlaps (PO) property2, or is a tangential proper part of it. But, if the road is a tangential proper part of property2, then the road can only be externally connected (EC) to property1. That is, road PO property1 is not possible when road TPP property2. This fact is not obvious, but can be deduced once we examine the consistent "singleton-labelings" of the constraint network. The following paragraph briefly describes singleton-labelings. First, we note that the path-consistency algorithm will also reduce the possible properties between house2 and property1 from { DC, EC } to just DC. So, the path-consistency algorithm leaves multiple possible constraints on 5 of the edges in the constraint network. Since each of the multiple constraints involves 2 constraints, we can reduce the network to 32 (25) possible unique constraint networks, each containing only single labels on each edge ("singleton labelings"). However, of the 32 possible singleton labelings, only 9 are consistent. (See qualreas for details.) Only one of the consistent singleton labelings has the edge road TPP property2 and the same labeling includes road EC property1. Other versions of the region connection calculus include RCC5 (with only five basic relations - the distinction whether two regions touch each other are ignored) and RCC23 (which allows reasoning about convexity). == RCC8 use in GeoSPARQL == RCC8 has been partially implemented in GeoSPARQL as described below: == Implementations == GQR is a reasoner for RCC-5, RCC-8, and RCC-23 (as well as other calculi for spatial and temporal reasoning) qualreas is a Python framework for qualitative reasoning over networks of relation algebras, such as RCC-8, Allen's interval algebra and more.

    Read more →
  • Nortel Speech Server

    Nortel Speech Server

    The Nortel Speech Server (formerly known as Periphonics Speech Processing Platform) in telecommunications is a speech processing system that was originally developed by Nortel. Following the bankruptcy of Nortel, it is now sold by Avaya. The system is primarily used for large vocabulary speech recognition, natural language understanding, text-to-speech, and speaker verification. The Nortel Speech Server was based on the Periphonics OSCAR platform. The original OSCAR Platform was based upon Solaris servers. The current range of Speech Servers is Windows based. Nortel Speech Server is a component of the MPS 500, MPS 1000, and ICP platforms. On MPS systems, it may be used to stream prerecorded audio.

    Read more →
  • Mix automation

    Mix automation

    In music recording, mix automation allows the mixing console to remember the mixing engineer's dynamic adjustment of faders during a musical piece in the post-production editing process. A timecode is necessary for the synchronization of automation. Modern mixing consoles and digital audio workstations use comprehensive mix automation. The need for automated mixing originated from the late 1970s transition form 8-track to 16-track and then 24-track multitrack recording, as mixing could be laborious and require multiple people and hands, and the results could be almost impossible to reproduce. With 48-track recording - synchronized twin 24-track recorders (for a net 46 audio tracks, with one on each machine for SMPTE timecode) - came larger recording and mixing consoles with even more channel faders to manage during mixdown. Manufacturers, such as Neve Electronics (now AMS Neve) and Solid State Logic (SSL), both English companies, developed systems that enabled one engineer to oversee every detail of a complex mix, although the computers required to power these desks remained a rarity into the late 1970s. According to record producer Roy Thomas Baker, Queen's 1975 single "Bohemian Rhapsody" was one of the first mixes to be done with automation. == Types == Voltage Controlled Automation fader levels are regulated by voltage-controlled amplifiers (VCA). VCAs control the audio level and not the actual fader. Moving Fader Automation a motor is attached to the fader, which then can be controlled by the console, digital audio workstation (DAW), or user. Software Controlled Automation the software can be internal to the console, or external as part of a DAW. The virtual fader can be adjusted in the software by the user. MIDI Automation the communications protocol MIDI can be used to send messages to the console to control automation. == Modes == Auto Write used the first time automation is created or when writing over existing automation Auto Touch writes automation data only while a fader is touched/faders return to any previously automated position after release Auto Latch starts writing automation data when a fader is touched/stays in position after release Auto Read digital Audio Workstation performs the written automation Auto Off automation is temporarily disabled All of these include the mute button. If mute is pressed during writing of automation, the audio track will be muted during playback of that automation. Depending on software, other parameters such as panning, sends, and plug-in controls can be automated as well. In some cases, automation can be written using a digital potentiometer instead of a fader.

    Read more →
  • Illia Polosukhin

    Illia Polosukhin

    Illia Polosukhin is a Ukrainian-born computer scientist and entrepreneur known for his work on the transformer architecture in machine learning and for co-founding the NEAR blockchain. == Early life and education == Polosukhin studied at the Kharkiv Polytechnic Institute, later relocating to San Diego and then moving to Silicon Valley. == Career == === Google and transformer research === Polosukhin worked at Google and was part of the team associated with research on self-attention that culminated in the 2017 paper Attention Is All You Need, widely credited with introducing the transformer architecture used in modern large language models. === NEAR Protocol === After his work in machine learning, Polosukhin became a co-founder of NEAR Protocol and later associated with the NEAR Foundation ecosystem. In 2023, Polosukhin publicly argued that increasingly capable A.I. systems should be more transparent and user-controlled, and expressed skepticism that conventional regulation alone would solve problems created by closed, corporate models, warning about risks such as regulatory capture. He has promoted “user-owned AI” concepts that combine open approaches with decentralized infrastructure aligned with the blockchain technology. In 2024, Polosukhin downplayed scenarios of A.I. independently causing human extinction, arguing that conflicts are driven by people and that misuse of AI would reflect human intent and incentives. Later this year, Polosukhin said the NEAR Foundation would reduce its workforce by about 40%. == Publications == Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Lukasz Kaiser, Illia Polosukhin; et al. (2017). "Attention Is All You Need". arXiv.{{cite journal}}: CS1 maint: multiple names: authors list (link)

    Read more →
  • ACROSS Project

    ACROSS Project

    ACROSS is a Singular Strategic R&D Project led by Treelogic funded by the Spanish Ministry of Industry, Tourism and Trade activities in the field of Robotics and Cognitive Computing over an execution time-frame from 2009 to 2011. ACROSS project involves a number higher than 100 researchers from 13 Spanish entities. == ACROSS project objectives == ACROSS modifies the design of social robotics, blocked in providing predefined services, going further by means of intelligent systems. These systems are able to self-reconfigure and modify their behavior autonomously through the capacity for understanding, learning and software remote access. In order to provide an open framework for collaboration between universities, research centers and the Administration, ACROSS develops Open Source Services available to everybody. == Three application domains == ACROSS works in three application domains: Autonomous living: robots are used as technological tools to help handicapped person into daily tasks. Psycho-Affective Disorders (autism): robots are used to mitigate cognitive disorders. Marketing: robots are used to interact with humans in a recreational approach. == Consortium == Treelogic Alimerka Bizintek Universitat Politécnica de Catalunya University of Deusto European Centre for Soft Computing Fatronik - Tecnalia Fundació Hospital Comarcal Sant Antoni Abat Fundación Pública Andaluza para la Gestión de la Investigación en Salud de Sevilla, "Virgen del Rocío" University Hospitals m-BOT Omicron Electronic Universidad de Extremadura - RoboLab Verbio Technologies

    Read more →
  • Cellular neural network

    Cellular neural network

    In computer science and machine learning, Cellular Neural Networks (CNN) or Cellular Nonlinear Networks (CNN) are a parallel computing paradigm similar to neural networks, with the difference that communication is allowed between neighbouring units only. Typical applications include image processing, analyzing 3D surfaces, solving partial differential equations, reducing non-visual problems to geometric maps, modelling biological vision and other sensory-motor organs. CNN is not to be confused with convolutional neural networks (also colloquially called CNN). == CNN architecture == Due to their number and variety of architectures, it is difficult to give a precise definition for a CNN processor. From an architecture standpoint, CNN processors are a system of finite, fixed-number, fixed-location, fixed-topology, locally interconnected, multiple-input, single-output, nonlinear processing units. The nonlinear processing units are often referred to as neurons or cells. Mathematically, each cell can be modeled as a dissipative, nonlinear dynamical system where information is encoded via its initial state, inputs and variables used to define its behavior. Dynamics are usually continuous, as in the case of Continuous-Time CNN (CT-CNN) processors, but can be discrete, as in the case of Discrete-Time CNN (DT-CNN) processors. Each cell has one output, by which it communicates its state with both other cells and external devices. Output is typically real-valued, but can be complex or even quaternion, i.e. a Multi-Valued CNN (MV-CNN). Most CNN processors, processing units are identical, but there are applications that require non-identical units, which are called Non-Uniform Processor CNN (NUP-CNN) processors, and consist of different types of cells. === Chua-Yang CNN === In the original Chua-Yang CNN (CY-CNN) processor, the state of the cell was a weighted sum of the inputs and the output was a piecewise linear function. However, like the original perceptron-based neural networks, the functions it could perform were limited: specifically, it was incapable of modeling non-linear functions, such as XOR. More complex functions are realizable via Non-Linear CNN (NL-CNN) processors. Cells are defined in a normed gridded space like two-dimensional Euclidean geometry. However, the cells are not limited to two-dimensional spaces; they can be defined in an arbitrary number of dimensions and can be square, triangle, hexagonal, or any other spatially invariant arrangement. Topologically, cells can be arranged on an infinite plane or on a toroidal space. Cell interconnect is local, meaning that all connections between cells are within a specified radius (with distance measured topologically). Connections can also be time-delayed to allow for processing in the temporal domain. Most CNN architectures have cells with the same relative interconnects, but there are applications that require a spatially variant topology, i.e. Multiple-Neighborhood-Size CNN (MNS-CNN) processors. Also, Multiple-Layer CNN (ML-CNN) processors, where all cells on the same layer are identical, can be used to extend the capability of CNN processors. The definition of a system is a collection of independent, interacting entities forming an integrated whole, whose behavior is distinct and qualitatively greater than its entities. Although connections are local, information exchange can happen globally through diffusion. In this sense, CNN processors are systems because their dynamics are derived from the interaction between the processing units and not within processing units. As a result, they exhibit emergent and collective behavior. Mathematically, the relationship between a cell and its neighbors, located within an area of influence, can be defined by a coupling law, and this is what primarily determines the behavior of the processor. When the coupling laws are modeled by fuzzy logic, it is a fuzzy CNN. When these laws are modeled by computational verb logic, it becomes a computational verb CNN. Both fuzzy and verb CNNs are useful for modelling social networks when the local couplings are achieved by linguistic terms. == History == The idea of CNN processors was introduced by Leon Chua and Lin Yang in 1988. In these articles, Chua and Yang outline the underlying mathematics behind CNN processors. They use this mathematical model to demonstrate, for a specific CNN implementation, that if the inputs are static, the processing units will converge, and can be used to perform useful calculations. They then suggest one of the first applications of CNN processors: image processing and pattern recognition (which is still the largest application to date). Leon Chua is still active in CNN research and publishes many of his articles in the International Journal of Bifurcation and Chaos, of which he is an editor. Both IEEE Transactions on Circuits and Systems and the International Journal of Bifurcation also contain a variety of useful articles on CNN processors authored by other knowledgeable researchers. The former tends to focus on new CNN architectures and the latter more on the dynamical aspects of CNN processors. In 1993, Tamas Roska and Leon Chua introduced the first algorithmically programmable analog CNN processor in the world. The multi-national effort was funded by the Office of Naval Research, the National Science Foundation, and the Hungarian Academy of Sciences, and researched by the Hungarian Academy of Sciences and the University of California. This article proved that CNN processors were producible and provided researchers a physical platform to test their CNN theories. After this article, companies started to invest into larger, more capable processors, based on the same basic architecture as the CNN Universal Processor. Tamas Roska is another key contributor to CNNs. His name is often associated with biologically inspired information processing platforms and algorithms, and he has published numerous key articles and has been involved with companies and research institutions developing CNN technology. === Literature === Two references are considered invaluable since they manage to organize the vast amount of CNN literature into a coherent framework: An overview by Valerio Cimagalli and Marco Balsi. The paper provides a concise intro to definitions, CNN types, dynamics, implementations, and applications. "Cellular Neural Networks and Visual Computing Foundations and Applications", written by Leon Chua and Tamas Roska, which provides examples and exercises. The book covers many different aspects of CNN processors and can serve as a textbook for a Masters or Ph.D. course. Other resources include The proceedings of "The International Workshop on Cellular Neural Networks and Their Applications" provide much CNN literature. The proceedings are available online, via IEEE Xplore, for conferences held in 1990, 1992, 1994, 1996, 1998, 2000, 2002, 2005 and 2006. There was also a workshop held in Santiago de Composetela, Spain. Topics included theory, design, applications, algorithms, physical implementations and programming and training methods. For an understanding of the analog semiconductor based CNN technology, AnaLogic Computers has their product line, in addition to the published articles available on their homepage and their publication list. They also have information on other CNN technologies such as optical computing. Many of the commonly used functions have already been implemented using CNN processors. A good reference point for some of these can be found in image processing libraries for CNN based visual computers such as Analogic’s CNN-based systems. == Related processing architectures == CNN processors could be thought of as a hybrid between artificial neural network (ANN) and Continuous Automata (CA). === Artificial Neural Networks === The processing units of CNN and NN are similar. In both cases, the processor units are multi-input, dynamical systems, and the behavior of the overall systems is driven primarily through the weights of the processing unit’s linear interconnect. However, in CNN processors, connections are made locally, whereas in ANN, connections are global. For example, neurons in one layer are fully connected to another layer in a feed-forward NN and all the neurons are fully interconnected in Hopfield networks. In ANNs, the weights of interconnections contain information on the processing system’s previous state or feedback. But in CNN processors, the weights are used to determine the dynamics of the system. Furthermore, due to the high inter-connectivity of ANNs, they tend not exploit locality in either the data set or the processing and as a result, they usually are highly redundant systems that allow for robust, fault-tolerant behavior without catastrophic errors. A cross between an ANN and a CNN processor is a Ratio Memory CNN (RMCNN). In RMCNN processors, the cell interconnect is local and topologically invariant, but the weights are used to store

    Read more →
  • Apache ORC

    Apache ORC

    Apache ORC (Optimized Row Columnar) is a free and open-source column-oriented data storage format. It is similar to the other columnar-storage file formats available in the Hadoop ecosystem such as RCFile and Parquet. It is used by most of the data processing frameworks Apache Spark, Apache Hive, Apache Flink, and Apache Hadoop. In February 2013, the Optimized Row Columnar (ORC) file format was announced by Hortonworks in collaboration with Facebook. A calendar month later, the Apache Parquet format was announced, developed by Cloudera and Twitter. Apache ORC format is widely supported including Amazon Web Services' Glue,Google Cloud Platform's BigQuery, and Pandas (software). == History ==

    Read more →
  • Infomax

    Infomax

    Infomax', or the principle of maximum information preservation, is an optimization principle for artificial neural networks and other information processing systems. It prescribes that a function that maps a set of input values x {\displaystyle x} to a set of output values z ( x ) {\displaystyle z(x)} should be chosen or learned so as to maximize the average Shannon mutual information between x {\displaystyle x} and z ( x ) {\displaystyle z(x)} , subject to a set of specified constraints and/or noise processes. Infomax algorithms are learning algorithms that perform this optimization process. The principle was described by Linsker in 1988. The objective function is called the InfoMax objective. As the InfoMax objective is difficult to compute exactly, a related notion uses two models giving two outputs z 1 ( x ) , z 2 ( x ) {\displaystyle z_{1}(x),z_{2}(x)} , and maximizes the mutual information between these. This contrastive InfoMax objective is a lower bound to the InfoMax objective. Infomax, in its zero-noise limit, is related to the principle of redundancy reduction proposed for biological sensory processing by Horace Barlow in 1961, and applied quantitatively to retinal processing by Atick and Redlich. == Applications == (Becker and Hinton, 1992) showed that the contrastive InfoMax objective allows a neural network to learn to identify surfaces in random dot stereograms (in one dimension). One of the applications of infomax has been to an independent component analysis algorithm that finds independent signals by maximizing entropy. Infomax-based ICA was described by (Bell and Sejnowski, 1995), and (Nadal and Parga, 1995).

    Read more →
  • John F. Sowa

    John F. Sowa

    John Florian Sowa (born 1940) is an American computer scientist, an expert in artificial intelligence and computer design, and the inventor of conceptual graphs. == Biography == Sowa received a BS in mathematics from Massachusetts Institute of Technology in 1962, an MA in applied mathematics from Harvard University in 1966, and a PhD in computer science from the Vrije Universiteit Brussel in 1999 with a dissertation titled "Knowledge Representation: Logical, Philosophical, and Computational Foundations". Sowa spent most of his professional career at IBM, starting in 1962 at IBM's applied mathematics group. Over the decades he has researched and developed emerging fields of computer science from compilers, programming languages, and system architecture to artificial intelligence and knowledge representation. In the 1990s Sowa was associated with the IBM Educational Center in New York. Over the years he taught courses at the IBM Systems Research Institute, Binghamton University, Stanford University, the Linguistic Society of America and the Université du Québec à Montréal. He is a fellow of the Association for the Advancement of Artificial Intelligence. After early retirement at IBM, Sowa in 2001 cofounded VivoMind Intelligence, Inc. with Arun K. Majumdar. With this company he was developing data-mining and database technology, more specifically high-level "ontologies" for artificial intelligence and automated natural language understanding. Currently Sowa is working with Kyndi Inc., also founded by Majumdar. John Sowa is married to the philologist Cora Angier Sowa, and they live in Croton-on-Hudson, New York. == Work == Sowa's research interests since the 1970s were in the field of artificial intelligence, expert systems and database query linked to natural languages. In his work he combines ideas from numerous disciplines and eras modern and ancient, for example, applying ideas from Aristotle, the medieval scholastics to Alfred North Whitehead and including database schema theory, and incorporating the model of analogy of Islamic scholar Ibn Taymiyyah in his works. === Conceptual graph === Sowa invented conceptual graphs, a graphic notation for logic and natural language, based on the structures in semantic networks and on the existential graphs of Charles S. Peirce. He introduced the concept in the 1976 article "Conceptual graphs for a data base interface" in the IBM Journal of Research and Development. He elaborated upon it in the 1983 book Conceptual structures: information processing in mind and machine. In the 1980s, this theory had "been adopted by a number of research and development groups throughout the world. International conferences on conceptual structures (ICCS) have been held since 1993, following a series of conceptual graph workshops that began in 1986. === Sowa's law of standards === In 1991, Sowa first stated his Law of Standards: "Whenever a major organization develops a new system as an official standard for X, the primary result is the widespread adoption of some simpler system as a de facto standard for X." Like Gall's law, The Law of Standards is essentially an argument in favour of underspecification. Examples include: The introduction of PL/I resulting in COBOL and FORTRAN becoming the de facto standards for business and scientific programming respectively The introduction of Algol-68 resulting in Pascal becoming the de facto standard for academic programming The introduction of the Ada language resulting in C becoming the de facto standard for US Department of Defense programming The introduction of OS/2 resulting in Windows becoming the de facto standard for desktop OS The introduction of X.400 resulting in SMTP becoming the de facto standard for electronic mail The introduction of X.500 resulting in LDAP becoming the de facto standard for directory services == Publications == 1984. Conceptual Structures - Information Processing in Mind and Machine. The Systems Programming Series, Addison-Wesley 1991. Principles of Semantic Networks. Morgan Kaufmann. Mineau, Guy W; Moulin, Bernard; Sowa, John F, eds. (1993). Conceptual Graphs for Knowledge Representation. LNCS. Vol. 699. doi:10.1007/3-540-56979-0. ISBN 978-3-540-56979-4. S2CID 32275791. 1994. International Conference on Conceptual Structures (2nd : 1994 : College Park, Md.) Conceptual structures, current practices : Second International Conference on Conceptual Structures, ICCS'94, College Park, Maryland, USA, August 16–20, 1994 : proceedings. William M. Tepfenhart, Judith P. Dick, John F. Sowa, eds. Ellis, Gerard; Levinson, Robert; Rich, William; Sowa, John F, eds. (1995). Conceptual Structures: Applications, Implementation and Theory. LNCS. Vol. 954. doi:10.1007/3-540-60161-9. ISBN 978-3-540-60161-6. S2CID 27300281. Lukose, Dickson; Delugach, Harry; Keeler, Mary; Searle, Leroy; Sowa, John, eds. (1997). Conceptual Structures: Fulfilling Peirce's Dream. LNCS. Vol. 1257. doi:10.1007/BFb0027865. ISBN 3-540-63308-1. S2CID 1934069. 2000. Knowledge representation : logical, philosophical, and computational foundations, Brooks Cole Publishing Co., Pacific Grove Articles, a selection Sowa, J. F. (July 1976). "Conceptual Graphs for a Data Base Interface". IBM Journal of Research and Development. 20 (4): 336–357. doi:10.1147/rd.204.0336. Sowa, J. F.; Zachman, J. A. (1992). "Extending and formalizing the framework for information systems architecture". IBM Systems Journal. 31 (3): 590–616. doi:10.1147/sj.313.0590. 1992. "Conceptual Graph Summary"; In: T.E. Nagle et al. (Eds.). Conceptual Structures: Current Research and Practice. Chichester: Ellis Horwood. 1995. "Top-level ontological categories." in: International journal of human-computer studies. Vol. 43, Iss. 5–6, Nov. 1995, pp. 669–685 2006. "Semantic Networks". In: Encyclopedia of Cognitive Science.. John Wiley & Sons.

    Read more →