AI Generator Tool

AI Generator Tool — independent reviews, comparisons, pricing and step-by-step guides on Aizhi.

  • Butler in a Box

    Butler in a Box

    Butler in a Box was an early voice-controlled home automation device developed in 1983 by magician Gus Searcy and programmer Franz Kavan. The device allowed users to control various home electronics, such as lights and phones, using voice commands. It predated modern smart speakers and virtual assistants by several decades. == History == The idea for the Butler in a Box originated in 1983 when Searcy was asked by friends why he couldn't simply command lights to turn on and off if he could pull rabbits out of hats, given his background as a professional magician. Searcy partnered with former IBM programmer Kavan to develop the device, with their first prototype being named "Sidney". The Butler in a Box combined remote control technology with voice recognition to enable control of home devices. However, it faced challenges due to the technological limitations of the era and its high price point of nearly $1,500 (equivalent to around $3,700 in 2021). == Features and functionality == Users could activate the Butler in a Box by speaking a wake word, typically a traditional butler name, and the device would address the user as "boss". It was capable of performing tasks such as: Turning lights on and off, controlling individual zones if lights were connected to remote control modules Making and receiving phone calls Setting timers Pairing with sensors to function as a security alarm system However, the device required extensive voice training for each user, a time-consuming process compared to modern voice recognition. Additionally, settings and trained commands would be lost if power was out for over 3 hours due to the volatile memory technology used at the time. == Reception and legacy == While innovative for its time, the Butler in a Box did not achieve widespread commercial success due to its high price and the technical limitations of the 1980s. Nevertheless, it served as an important early step in the development of home automation and showcased the potential for voice-controlled technology to enhance accessibility and convenience in the home. Decades later, products like Amazon Alexa, Google Home, and Apple's Siri would make voice-controlled smart home devices commonplace and affordable, building on the groundwork laid by early attempts like the Butler in a Box.

    Read more →
  • Restricted Boltzmann machine

    Restricted Boltzmann machine

    A restricted Boltzmann machine (RBM) (also called a restricted Sherrington–Kirkpatrick model with external field or restricted stochastic Ising–Lenz–Little model) is a generative stochastic artificial neural network that can learn a probability distribution over its set of inputs. RBMs were initially proposed under the name Harmonium by Paul Smolensky in 1986, and rose to prominence after Geoffrey Hinton and collaborators used fast learning algorithms for them in the mid-2000s. RBMs have found applications in dimensionality reduction, classification, collaborative filtering, feature learning, topic modelling, immunology, and even many‑body quantum mechanics. They can be trained in either supervised or unsupervised ways, depending on the task. As their name implies, RBMs are a variant of Boltzmann machines, with the restriction that their neurons must form a bipartite graph: a pair of nodes from each of the two groups of units (commonly referred to as the "visible" and "hidden" units respectively) may have a symmetric connection between them; and there are no connections between nodes within a group. By contrast, "unrestricted" Boltzmann machines may have connections between hidden units. This restriction allows for more efficient training algorithms than are available for the general class of Boltzmann machines, in particular the gradient-based contrastive divergence algorithm. Restricted Boltzmann machines can also be used in deep learning networks. In particular, deep belief networks can be formed by "stacking" RBMs and optionally fine-tuning the resulting deep network with gradient descent and backpropagation. == Structure == The standard type of RBM has binary-valued (Boolean) hidden and visible units, and consists of a matrix of weights W {\displaystyle W} of size m × n {\displaystyle m\times n} . Each weight element ( w i , j ) {\displaystyle (w_{i,j})} of the matrix is associated with the connection between the visible (input) unit v i {\displaystyle v_{i}} and the hidden unit h j {\displaystyle h_{j}} . In addition, there are bias weights (offsets) a i {\displaystyle a_{i}} for v i {\displaystyle v_{i}} and b j {\displaystyle b_{j}} for h j {\displaystyle h_{j}} . Given the weights and biases, the energy of a configuration (pair of Boolean vectors) (v,h) is defined as E ( v , h ) = − ∑ i a i v i − ∑ j b j h j − ∑ i ∑ j v i w i , j h j {\displaystyle E(v,h)=-\sum _{i}a_{i}v_{i}-\sum _{j}b_{j}h_{j}-\sum _{i}\sum _{j}v_{i}w_{i,j}h_{j}} or, in matrix notation, E ( v , h ) = − a T v − b T h − v T W h . {\displaystyle E(v,h)=-a^{\mathrm {T} }v-b^{\mathrm {T} }h-v^{\mathrm {T} }Wh.} This energy function is analogous to that of a Hopfield network. As with general Boltzmann machines, the joint probability distribution for the visible and hidden vectors is defined in terms of the energy function as follows, P ( v , h ) = 1 Z e − E ( v , h ) {\displaystyle P(v,h)={\frac {1}{Z}}e^{-E(v,h)}} where Z {\displaystyle Z} is a partition function defined as the sum of e − E ( v , h ) {\displaystyle e^{-E(v,h)}} over all possible configurations, which can be interpreted as a normalizing constant to ensure that the probabilities sum to 1. The marginal probability of a visible vector is the sum of P ( v , h ) {\displaystyle P(v,h)} over all possible hidden layer configurations, P ( v ) = 1 Z ∑ { h } e − E ( v , h ) {\displaystyle P(v)={\frac {1}{Z}}\sum _{\{h\}}e^{-E(v,h)}} , and vice versa. Since the underlying graph structure of the RBM is bipartite (meaning there are no intra-layer connections), the hidden unit activations are mutually independent given the visible unit activations. Conversely, the visible unit activations are mutually independent given the hidden unit activations. That is, for m visible units and n hidden units, the conditional probability of a configuration of the visible units v, given a configuration of the hidden units h, is P ( v | h ) = ∏ i = 1 m P ( v i | h ) {\displaystyle P(v|h)=\prod _{i=1}^{m}P(v_{i}|h)} . Conversely, the conditional probability of h given v is P ( h | v ) = ∏ j = 1 n P ( h j | v ) {\displaystyle P(h|v)=\prod _{j=1}^{n}P(h_{j}|v)} . The individual activation probabilities are given by P ( h j = 1 | v ) = σ ( b j + ∑ i = 1 m w i , j v i ) {\displaystyle P(h_{j}=1|v)=\sigma \left(b_{j}+\sum _{i=1}^{m}w_{i,j}v_{i}\right)} and P ( v i = 1 | h ) = σ ( a i + ∑ j = 1 n w i , j h j ) {\displaystyle \,P(v_{i}=1|h)=\sigma \left(a_{i}+\sum _{j=1}^{n}w_{i,j}h_{j}\right)} where σ {\displaystyle \sigma } denotes the logistic sigmoid. The visible units of Restricted Boltzmann Machine can be multinomial, although the hidden units are Bernoulli. In this case, the logistic function for visible units is replaced by the softmax function P ( v i k = 1 | h ) = exp ⁡ ( a i k + Σ j W i j k h j ) Σ k ′ = 1 K exp ⁡ ( a i k ′ + Σ j W i j k ′ h j ) {\displaystyle P(v_{i}^{k}=1|h)={\frac {\exp(a_{i}^{k}+\Sigma _{j}W_{ij}^{k}h_{j})}{\Sigma _{k'=1}^{K}\exp(a_{i}^{k'}+\Sigma _{j}W_{ij}^{k'}h_{j})}}} where K is the number of discrete values that the visible values have. They are applied in topic modeling, and recommender systems. === Relation to other models === Restricted Boltzmann machines are a special case of Boltzmann machines and Markov random fields. The graphical model of RBMs corresponds to that of factor analysis. == Training algorithm == Restricted Boltzmann machines are trained to maximize the product of probabilities assigned to some training set V {\displaystyle V} (a matrix, each row of which is treated as a visible vector v {\displaystyle v} ), arg ⁡ max W ∏ v ∈ V P ( v ) {\displaystyle \arg \max _{W}\prod _{v\in V}P(v)} or equivalently, to maximize the expected log probability of a training sample v {\displaystyle v} selected randomly from V {\displaystyle V} : arg ⁡ max W E [ log ⁡ P ( v ) ] {\displaystyle \arg \max _{W}\mathbb {E} \left[\log P(v)\right]} The algorithm most often used to train RBMs, that is, to optimize the weight matrix W {\displaystyle W} , is the contrastive divergence (CD) algorithm due to Hinton, originally developed to train PoE (product of experts) models. The algorithm performs Gibbs sampling and is used inside a gradient descent procedure (similar to the way backpropagation is used inside such a procedure when training feedforward neural nets) to compute weight update. The basic, single-step contrastive divergence (CD-1) procedure for a single sample can be summarized as follows: Take a training sample v, compute the probabilities of the hidden units and sample a hidden activation vector h from this probability distribution. Compute the outer product of v and h and call this the positive gradient. From h, sample a reconstruction v' of the visible units, then resample the hidden activations h' from this. (Gibbs sampling step) Compute the outer product of v' and h' and call this the negative gradient. Let the update to the weight matrix W {\displaystyle W} be the positive gradient minus the negative gradient, times some learning rate: Δ W = ϵ ( v h T − v ′ h ′ T ) {\displaystyle \Delta W=\epsilon (vh^{\mathsf {T}}-v'h'^{\mathsf {T}})} . Update the biases a and b analogously: Δ a = ϵ ( v − v ′ ) {\displaystyle \Delta a=\epsilon (v-v')} , Δ b = ϵ ( h − h ′ ) {\displaystyle \Delta b=\epsilon (h-h')} . A Practical Guide to Training RBMs written by Hinton can be found on his homepage. == Stacked Restricted Boltzmann Machine == The difference between the Stacked Restricted Boltzmann Machines and RBM is that RBM has lateral connections within a layer that are prohibited to make analysis tractable. On the other hand, the Stacked Boltzmann consists of a combination of an unsupervised three-layer network with symmetric weights and a supervised fine-tuned top layer for recognizing three classes. The usage of Stacked Boltzmann is to understand Natural languages, retrieve documents, image generation, and classification. These functions are trained with unsupervised pre-training and/or supervised fine-tuning. Unlike the undirected symmetric top layer, with a two-way unsymmetric layer for connection for RBM. The restricted Boltzmann's connection is three-layers with asymmetric weights, and two networks are combined into one. Stacked Boltzmann does share similarities with RBM, the neuron for Stacked Boltzmann is a stochastic binary Hopfield neuron, which is the same as the Restricted Boltzmann Machine. The energy from both Restricted Boltzmann and RBM is given by Gibb's probability measure: E = − 1 2 ∑ i , j w i j s i s j + ∑ i θ i s i {\displaystyle E=-{\frac {1}{2}}\sum _{i,j}{w_{ij}{s_{i}}{s_{j}}}+\sum _{i}{\theta _{i}}{s_{i}}} . The training process of Restricted Boltzmann is similar to RBM. Restricted Boltzmann train one layer at a time and approximate equilibrium state with a 3-segment pass, not performing back propagation. Restricted Boltzmann uses both supervised and unsupervised on different RBM for pre-training for classification and recognition. The training uses contrastive divergence with

    Read more →
  • Jun'ichi Tsujii

    Jun'ichi Tsujii

    Jun'ichi Tsujii (辻井 潤一, Tsujii Jun'ichi; born 7 February 1949) is a Japanese computer scientist specializing in natural language processing and text mining, particularly in the field of biology and bioinformatics. == Education == Tsujii received his Bachelor of Engineering, Master of Engineering and PhD degrees in electrical engineering from Kyoto University in 1971, 1973, and 1978 respectively. He was Assistant Professor and Associate Professor at Kyoto University, before accepting a position as Professor of Computational Linguistics at the University of Manchester Institute of Science and Technology (UMIST) in 1988. He was President of the Association for Computational Linguistics (ACL) in 2006, and has been a permanent member of the International Committee on Computational Linguistics (ICCL) since 1992, and the chair of the committee since 2014. == Research == Since May 2015, Tsujii has been the director of the Artificial Intelligence Research Center at the National Institute of Advanced Industrial Science and Technology, Japan. Tsujii was previously a Principal Researcher at Microsoft Research Asia (MSRA). Before joining MSRA, he was a professor at the University of Tokyo, where he belonged to both the School of Inter-faculty Initiative on Informatics and the Graduate School of Information Science and Technology. Tsujii is also a Visiting Professor and Scientific Advisor at the National Centre for Text Mining (NaCTeM) at the University of Manchester in the United Kingdom. == Awards == On 14 May 2010, Tsujii was awarded the Medals of Honor with Purple Ribbon, one of Japan's highest awards, presented to influential contributors in the fields of art, academics or sports. In September 2014, Tsujii was awarded the FUNAI Achievement Award at the Forum on Information Technology (FIT), which took place at the University of Tsukuba. The award is presented to distinguished individuals engaged in research or related business activities in the field of Information Technology who have produced excellent achievements in the field, are still active in leading positions and have strong impact on young students and researchers. In December 2014, Tsujii was named as an ACL Fellow, in recognition of his significant contributions to MT, parsing by unification-based grammar and text mining for biology. In March 2016, Tsujii was awarded Okawa Prize for his contribution to the field of Natural Language Processing, Machine Translation and Text Mining, together with Professor Jaime Carbonnel of CMU. In August 2021, Tsujii received ACL Lifetime Achievement Award, which is considered the most prestigious award in the field of Computational Linguistics and Natural Language Processing. In May 2022, Tsujii received the Order of the Sacred Treasure, Gold Rays and Neck Ribbon, from the Japanese government. In October 2024, Tsujii was designated a Person of Cultural Merit. == Selected publications == Oiwa, Hidekazu; Tsujii, Jun'ichi (2014). Common Space Embedding of Primal-Dual Relation Semantic Spaces. COLING 2014. Dublin. pp. 1579–1590. Taura, K.; Matsuzaki, T.; Miwa, M.; Kamoshida, Y.; Yokoyama, D.; Dun, N.; Shibata, T.; Jun, C. S.; Tsujii, J. (2013). "Design and implementation of GXP make – A workflow system based on make". Future Generation Computer Systems. 29 (2): 662–672. doi:10.1016/j.future.2011.05.026. S2CID 31627886. Sun, X.; Zhang, Y.; Matsuzaki, T.; Tsuruoka, Y.; Tsujii, J. (2013). "Probabilistic Chinese word segmentation with non-local information and stochastic training". Information Processing & Management. 49 (3): 626–636. doi:10.1016/j.ipm.2012.12.003. Mu, T.; Goulermas, J. Y.; Tsujii, J.; Ananiadou, S. (2012). "Proximity-Based Frameworks for Generating Embeddings from Multi-Output Data". IEEE Transactions on Pattern Analysis and Machine Intelligence. 34 (11): 2216–2232. Bibcode:2012ITPAM..34.2216M. doi:10.1109/TPAMI.2012.20. PMID 23289130. S2CID 711467. Miwa, M.; Sætre, R.; Kim, J. D.; Tsujii, J. (2010). "Event Extraction with Complex Event Classification Using Rich Features". Journal of Bioinformatics and Computational Biology. 08 (1): 131–146. doi:10.1142/S0219720010004586. PMID 20183879. Kim, J. D.; Ohta, T.; Tsujii, J. (2008). "Corpus annotation for mining biomedical events from literature". BMC Bioinformatics. 9 10. doi:10.1186/1471-2105-9-10. PMC 2267702. PMID 18182099. Miyao, Y.; Tsujii, J. (2008). "Feature Forest Models for Probabilistic HPSG Parsing". Computational Linguistics. 34: 35–80. doi:10.1162/coli.2008.34.1.35. S2CID 885002. Sagae, Kenji; Tsujii, Jun'ichi (2007). Dependency Parsing and Domain Adaptation with LR Models and Parser Ensembles. EMNLP-CoNLL. pp. 1044–1050. Ananiadou, S; Pyysalo, S; Tsujii, J; Kell, D. B. (2010). "Event extraction for systems biology by text mining the literature". Trends in Biotechnology. 28 (7): 381–90. doi:10.1016/j.tibtech.2010.04.005. PMID 20570001. Tsuruoka, Y.; Tateishi, Y.; Kim, J. D.; Ohta, T.; McNaught, J.; Ananiadou, S.; Tsujii, J. (2005). "Developing a Robust Part-of-Speech Tagger for Biomedical Text". Advances in Informatics. Lecture Notes in Computer Science. Vol. 3746. p. 382. doi:10.1007/11573036_36. ISBN 978-3-540-29673-7. S2CID 206592413. Tsuruoka, Y.; Tsujii, J. (2005). Bidirectional inference with the easiest-first strategy for tagging sequence data. Proceedings of the conference on Human Language Technology and Empirical Methods in Natural Language Processing - HLT '05. pp. 467–474. doi:10.3115/1220575.1220634. Tsujii, J.; Ananiadou, S. (2005). "Thesaurus or Logical Ontology, Which One Do We Need for Text Mining?". Language Resources and Evaluation. 39: 77–90. doi:10.1007/s10579-005-2697-0. S2CID 3204827. Kazama, J. I.; Tsujii, J. I. (2005). "Maximum Entropy Models with Inequality Constraints: A Case Study on Text Categorization". Machine Learning. 60 (1–3): 159–194. doi:10.1007/s10994-005-0911-3. hdl:10119/3305. Matsuzaki, T.; Miyao, Y.; Tsujii, J. I. (2005). Probabilistic CFG with latent annotations. 43rd Annual Meeting on Association for Computational Linguistics - ACL '05. p. 75. doi:10.3115/1219840.1219850. Kim, J. -D.; Ohta, T.; Tateisi, Y.; Tsujii, J. (2003). "GENIA corpus--a semantically annotated corpus for bio-textmining". Bioinformatics. 19: i180–i182. doi:10.1093/bioinformatics/btg1023. PMID 12855455. Hirschman, L.; Park, J. C.; Tsujii, J.; Wong, L.; Wu, C. H. (2002). "Accomplishments and challenges in literature data mining for biology". Bioinformatics. 18 (12): 1553–1561. doi:10.1093/bioinformatics/18.12.1553. PMID 12490438. Torisawa, K.; Tsujii, J. I. (1996). Computing phrasal-signs in HPSG prior to parsing. 16th conference on Computational linguistics -. Vol. 2. p. 949. doi:10.3115/993268.993332.

    Read more →
  • Karsten Borgwardt

    Karsten Borgwardt

    Karsten Borgwardt (born 1980) is a German computer scientist and biologist specializing in machine learning and computational biology. Since February 2023, he has been a director at the Max Planck Institute of Biochemistry in Martinsried, Germany, where he leads the Department of Machine Learning and Systems Biology. == Education and career == Borgwardt was born in Kaiserslautern. He obtained a Diplom (equivalent to a master’s degree) in computer science from LMU Munich in 2004 and a Master of Science in biology from the University of Oxford in 2003. In 2007, he obtained his PhD from LMU Munich in computer science. Following a postdoctoral position at the University of Cambridge, he became a research group leader for machine learning and computational biology at the Max Planck Institute for Biological Cybernetics and the former Max Planck Institute for Developmental Biology in Tübingen in 2008. In 2011, Borgwardt was appointed professor of data mining in the life sciences at the University of Tübingen. In 2014, he joined ETH Zurich as an associate professor in the Department of Biosystems Science and Engineering (D-BSSE) and was promoted to full professor in 2017. During his tenure at ETH Zurich, he coordinated significant research programs, including two Marie Curie Innovative Training Networks and the Personalized Swiss Sepsis Study, focusing on the prediction of sepsis using machine learning. In 2023, he was appointed as Scientific Member of the Max Planck Society and as Director at the Max Planck Institute of Biochemistry in Martinsried. == Research contributions == Borgwardt’s research integrates big data analysis with biomedical research. He develops novel machine learning algorithms to detect patterns and statistical dependencies in large biological and medical datasets. His work aims to enable the automatic generation of new knowledge from big data and to understand the relationship between the function of biological systems and their molecular properties, which is fundamental for personalized medicine. == Awards and honors == During his studies, he was a scholar of the Stiftung Maximilianeum, and the Bavarian Foundation for the Promotion of the Gifted. Borgwardt received scholarships from the Studienstiftung des deutschen Volkes in 2002 and 2007. His PhD dissertation received the Heinz Schwärtzel Dissertation Award for Foundations of Computer Science in 2007. As a professor in Tübingen, he was awarded the Alfried-Krupp-Förderpreis for Young Professors in 2013. In 2015, he received an SNSF Starting Grant. In 2014, 2015 and 2016, he was listed in “Top 40 under 40” in Germany rankings selected by Capital magazine. In 2018, Borgwardt was named among “25 individuals who have the potential to shape the next 25 years” by Focus magazine. In 2023, Borgwardt received an honorary professorship from LMU Munich by the Faculty of Chemistry and Pharmacy. Publications from Borgwardt's group have received the Outstanding Student Paper Award in NIPS in 2009, the SIB Graduate Paper Award in 2020 and SIB Remarkable Output Awards in 2020 and 2021 from the Swiss Institute of Bioinformatics (SIB). == Selected publications == Weisfeiler-Lehman Graph Kernels (’‘Journal of Machine Learning Research’’, 2011): Introduced an efficient graph kernel based on the Weisfeiler-Lehman algorithm. “Direct antimicrobial resistance prediction from clinical MALDI-TOF mass spectra using machine learning” (’‘Nature Medicine’’, 2022): showcased the feasibility of predicting antimicrobial resistance from readily collected mass spectrometry data in the hospital. The new method is able to identify antibiotic resistance 24 hours earlier than previous methods.

    Read more →
  • Embodied agent

    Embodied agent

    In artificial intelligence, an embodied agent, also sometimes referred to as an interface agent, is an intelligent agent that interacts with the environment through a physical body within that environment. Agents that are represented graphically with a body, for example a human or a cartoon animal, are also called embodied agents, although they have only virtual, not physical, embodiment. A branch of artificial intelligence focuses on empowering such agents to interact autonomously with human beings and the environment. Mobile robots are one example of physically embodied agents; Ananova and Microsoft Agent are examples of graphically embodied agents. Embodied conversational agents are embodied agents (usually with a graphical front-end as opposed to a robotic body) that are capable of engaging in conversation with one another and with humans employing the same verbal and nonverbal means that humans do (such as gesture, facial expression, and so forth). == Embodied conversational agents == Embodied conversational agents are a form of intelligent user interface. Graphically embodied agents aim to unite gesture, facial expression and speech to enable face-to-face communication with users, providing a powerful means of human-computer interaction. == Advantages == Face-to-face communication allows communication protocols that give a much richer communication channel than other means of communicating. It enables pragmatic communication acts such as conversational turn-taking, facial expression of emotions, information structure and emphasis, visualization and iconic gestures, and orientation in a three-dimensional environment. This communication takes place through both verbal and non-verbal channels such as gaze, gesture, spoken intonation and body posture. Research has found that users prefer a non-verbal visual indication of an embodied system's internal state to a verbal indication, demonstrating the value of additional non-verbal communication channels. As well as this, the face-to-face communication involved in interacting with an embodied agent can be conducted alongside another task without distracting the human participants, instead improving the enjoyment of such an interaction. Furthermore, the use of an embodied presentation agent results in improved recall of the presented information. Embodied agents also provide a social dimension to the interaction. Humans willingly ascribe social awareness to computers, and thus interaction with embodied agents follows social conventions, similar to human to human interactions. This social interaction both raises the believably and perceived trustworthiness of agents, and increases the user's engagement with the system. Rickenberg and Reeves found that the presence of an embodied agent on a website increased the level of user trust in that website, but also increased users' anxiety and affected their performance, as if they were being watched by a real human. Another effect of the social aspect of agents is that presentations given by an embodied agent are perceived as being more entertaining and less difficult than similar presentations given without an agent. Research shows that perceived enjoyment, followed by perceived usefulness and ease of use, is the major factor influencing user adoption of embodied agents. A study in January 2004 by Byron Reeves at Stanford demonstrated how digital characters could "enhance online experiences" through explaining how virtual characters essentially add a sense of familiarity to the user experience and make it more approachable. This increase in likability in turn helps make the products better, which benefits both the end users and those creating the product. === Applications === The rich style of communication that characterizes human conversation makes conversational interaction with embodied conversational agents ideal for many non-traditional interaction tasks. A familiar application of graphically embodied agents is computer games; embodied agents are ideal for this setting because the richer communication style makes interacting with the agent enjoyable. Embodied conversational agents have also been used in virtual training environments, portable personal navigation guides, interactive fiction and storytelling systems, interactive online characters and automated presenters and commentators. Major virtual assistants like Siri, Amazon Alexa and Google Assistant do not come with any visual embodied representation, which is believed to limit the sense of human presence by users. The U.S. Department of Defense utilizes a software agent called SGT STAR on U.S. Army-run Web sites and Web applications for site navigation, recruitment and propaganda purposes. Sgt. Star is run by the Army Marketing and Research Group, a division operated directly from The Pentagon. Sgt. Star is based upon the ActiveSentry technology developed by Next IT, a Washington-based information technology services company. Other such bots in the Sgt. Star "family" are utilized by the Federal Bureau of Investigation and the Central Intelligence Agency for intelligence gathering purposes.

    Read more →
  • Babak Hodjat

    Babak Hodjat

    Babak Hodjat (Persian: بابک حجت; born November 1, 1967) is a British computer scientist, entrepreneur, and writer. He was the co-founder and CEO of Sentient Technologies and now holds the position of Chief Technology Officer AI at Cognizant. He is a specialist in the field of artificial intelligence and machine learning. In 1998 Hodjat co-founded Dejima Inc and served as CEO and CTO, his patented work on artificial intelligence led to the technology used by Apple for their digital assistant Siri. == Biography == === Early life === Babak Hodjat was born on November 1, 1967, in Wimbledon. His father was a retired university professor in entomology who worked at the British Museum. As a child, he did not like insects and would wander off to the nearby science museum, where he would spend long hours in front of a computer they had on display. He attended middle school in the United States. He studied at the Sharif University of Technology from 1986 to 1995, and received his Master of Science degree in software engineering. In 1994, together with another computer department student Hormoz Shahrzad presented their research titled Introducing a dynamic problem solving scheme based on a learning algorithm in artificial life environments at the first IEEE Conference on Computational Intelligence held at Orlando. Hodjat received a PhD in machine intelligence from Kyushu University in 2003 During his time there, he published several works on adaptive agent oriented software architecture and natural language user interfaces. === Career in science and business === Hodjat moved to Silicon Valley, California in 1998 and founded Dejima Inc. (named after the historic Japanese Dejima artificial island). The firm was based on a patented adaptive agent-oriented software engineering platform developed by Hodjat, Christopher Savoie and Makoto Amamiya. Hodjat served as the CTO and as the CEO for 9 months from October 2000. By 2000 the company had offices in San Jose, London and Tokyo. In 2002, the company developed a voice control Natural Interaction Platform (NPI) in collaboration with the Stanford University's research group Archimedes Project. During these years Hodjat continued his research on agent oriented software architecture and natural language user interfaces. In July 2003, Dejima got funding from SRI International within the Cognitive Assistant that Learns and Organizes (CALO) project of DARPA and worked on a Perceptive Assistant that Learns (PAL) initiative. Hodjat was the primary inventor of the firm's agent-oriented technology applied to intelligent interfaces for mobile and enterprise computing – a technology that eventually led to Siri. In April 2004, Dejima was acquired by Sybase iAnywhere. Hodjat served as senior director of engineering at Sybase iAnywhere from 2004 to 2008, where he developed AvantGo Platform, mBusiness Anywhere, and Answers Anywhere. In 2006, he co-founded MobileVerbs Inc., a mobile marketing service company, which was acquired by iLoop Mobile in February 2010. In 2007, he teamed with Antoine Blondeau (former CEO of Dejima) and Adam Cheyer (Dejima's vice president and Chief Architect of the CALO project) to establish Genetic Finance Holding Ltd. (where he began as CTO). In 2014 the firm became Sentient Technologies. Hodjat was joined by his long-time research fellow Hormoz Shahrzad who became principal scientist, while Hodjat held the position of chief scientist. In the following years Hodjat has worked on developing massively distributed computing technology and improving machine-learning technique known as evolutionary algorithms. One area that gained special attention from the press was applying Sentient Technologies algorithms to a stock market trading through specially created Sentient Investment Management hedge fund. Following the management change within Sentient Technologies, Hodjat became the company's CEO in February 2017. He continues his business and educational projects (he was on the jury of IBM Watson AI XPRIZE and the Merit Awards committee for the ISAL Award). == Writing == Hodjat is the author of multiple books such as The Konar and the Apple: Fun, Beauty, and Dread--From Ahwaz to California and the science fiction novel "The Narrator" (January 2022; ISBN 978-1-7354860-1-7)(March 2023; ISBN 978-1-7354860-0-0). == Selected publications == Hodjat, B.; Shahrzad, H. (1994). "Introducing a dynamic problem solving scheme based on a learning algorithm in artificial life environments". IEEE International Joint Conference on neural networks (IJCNN-94). Vol. 4. IEEE International Joint Conference on neural networks. pp. 2333–2338. doi:10.1109/ICNN.1994.374583. ISBN 978-0-7803-1901-1. S2CID 60497133. Hodjat, B.; Savoie, C.J.; Amamiya, M. (2006) [1998]. "An adaptive agent oriented software architecture". PRICAI'98: Topics in Artificial Intelligence. Springer. pp. 33–46. arXiv:cs/9812014. doi:10.1007/BFb0095256. ISBN 978-3-540-49461-4. S2CID 5317786. Hodjat, B.; Amamiya, M. (2000-05-25). "Applying the Adaptive Agent Oriented Software Architecture to the Parsing of Context Sensitive Grammars". IEICE Transactions on Information and Systems. E83-D (5): 1142–1152. ISSN 0916-8532. Retrieved 2017-12-14. Hodjat, Babak; Hodjat, Siamak; Treadgold, Nick; Jonsson, Ing-Marie (2006). "CRUSE: a context reactive natural language mobile interface". Proceedings of the 2nd annual international workshop on Wireless internet. WICON. doi:10.1145/1234161.1234181. ISBN 978-1-59593-510-6. S2CID 2388254. O'Reilly, Una-May; Wagy, Mark; Hodjat, Babak (2013). "Chapter 6: EC-Star: A Massive-Scale, Hub and Spoke, Distributed Genetic Programming System". In Riolo, R.; Vladislavleva, E.; Ritchie, M.; Moore, J.H. (eds.). Genetic Programming Theory and Practice X. Springer-Verlag New York. pp. 73–85. doi:10.1007/978-1-4614-6846-2. ISBN 978-1-4614-6845-5. S2CID 39650969. Retrieved 2017-12-14. Hodjat, Babak; Hemberg, Erik; Shahrzad, Hormoz; O'Reilly, Una-May (2014). "Chapter 4: Maintenance of a Long Running Distributed Genetic Programming System for Solving Problems Requiring Big Data". In Riolo, Rick; Moore, Jason H.; Kotanchek, Mark (eds.). Genetic Programming Theory and Practice XI. Springer-Verlag New York. pp. 65–83. doi:10.1007/978-1-4939-0375-7. ISBN 978-1-4939-0374-0. S2CID 28843739. Retrieved 2017-12-14. Shahrzad, Hormoz; Hodjat, Babak; Miikkulainen, Risto (2016). "Estimating the Advantage of Age-Layering in Evolutionary Algorithms". Proceedings of the Genetic and Evolutionary Computation Conference 2016. Genetic and Evolutionary Computation Conference. pp. 693–699. doi:10.1145/2908812.2908911. ISBN 978-1-4503-4206-3. S2CID 215516530. == Patents == Babak Hodjat holds 21 patents in the fields of agent-oriented programming, natural language decision engines, distributed evolutionary algorithms for asset management and trading and data mining.

    Read more →
  • Factored language model

    Factored language model

    The factored language model (FLM) is an extension of a conventional language model introduced by Jeff Bilmes and Katrin Kirchoff in 2003. In an FLM, each word is viewed as a vector of k factors: w i = { f i 1 , . . . , f i k } . {\displaystyle w_{i}=\{f_{i}^{1},...,f_{i}^{k}\}.} An FLM provides the probabilistic model P ( f | f 1 , . . . , f N ) {\displaystyle P(f|f_{1},...,f_{N})} where the prediction of a factor f {\displaystyle f} is based on N {\displaystyle N} parents { f 1 , . . . , f N } {\displaystyle \{f_{1},...,f_{N}\}} . For example, if w {\displaystyle w} represents a word token and t {\displaystyle t} represents a Part of speech tag for English, the expression P ( w i | w i − 2 , w i − 1 , t i − 1 ) {\displaystyle P(w_{i}|w_{i-2},w_{i-1},t_{i-1})} gives a model for predicting current word token based on a traditional Ngram model as well as the Part of speech tag of the previous word. A major advantage of factored language models is that they allow users to specify linguistic knowledge such as the relationship between word tokens and Part of speech in English, or morphological information (stems, root, etc.) in Arabic. Like N-gram models, smoothing techniques are necessary in parameter estimation. In particular, generalized back-off is used in training an FLM.

    Read more →
  • Steve Omohundro

    Steve Omohundro

    Stephen Malvern Omohundro (born 1959) is an American computer scientist whose areas of research include Hamiltonian physics, dynamical systems, programming languages, machine learning, machine vision, and the social implications of artificial intelligence. His current work uses rational economics to develop safe and beneficial intelligent technologies for better collaborative modeling, understanding, innovation, and decision making. == Education == Omohundro has degrees in physics and mathematics from Stanford University (Phi Beta Kappa) and a Ph.D. in physics from the University of California, Berkeley. == Learning algorithms == Omohundro started the "Vision and Learning Group" at the University of Illinois, which produced 4 Masters and 2 Ph.D. theses. His work in learning algorithms included a number of efficient geometric algorithms, the manifold learning task and various algorithms for accomplishing this task, other related visual learning and modelling tasks, the best-first model merging approach to machine learning (including the learning of Hidden Markov Models and Stochastic Context-free Grammars), and the Family Discovery Learning Algorithm, which discovers the dimension and structure of a parameterized family of stochastic models. == Self-improving artificial intelligence and AI safety == Omohundro started Self-Aware Systems in Palo Alto, California to research the technology and social implications of self-improving artificial intelligence. He is an advisor to the Machine Intelligence Research Institute on artificial intelligence. He argues that rational systems exhibit problematic natural "drives" that will need to be countered in order to build intelligent systems safely. His papers, talks, and videos on AI safety have generated extensive interest. He has given many talks on self-improving artificial intelligence, cooperative technology, AI safety, and connections with biological intelligence. == Programming languages == At Thinking Machines Corporation, Cliff Lasser and Steve Omohundro developed Star Lisp, the first programming language for the Connection Machine. Omohundro joined the International Computer Science Institute (ICSI) in Berkeley, California, where he led the development of the open source programming language Sather. Sather is featured in O'Reilly's History of Programming Languages poster. == Physics and dynamical systems theory == Omohundro's book Geometric Perturbation Theory in Physics describes natural Hamiltonian symplectic structures for a wide range of physical models that arise from perturbation theory analyses. He showed that there exist smooth partial differential equations which stably perform universal computation by simulating arbitrary cellular automata. The asymptotic behavior of these PDEs is therefore logically undecidable. With John David Crawford he showed that the orbits of three-dimensional period doubling systems can form an infinite number of topologically distinct torus knots and described the structure of their stable and unstable manifolds. == Mathematica and Apple tablet contest == From 1986 to 1988, he was an Assistant Professor of Computer science at the University of Illinois at Urbana-Champaign and cofounded the Center for Complex Systems Research with Stephen Wolfram and Norman Packard. While at the University of Illinois, he worked with Stephen Wolfram and five others to create the symbolic mathematics program Mathematica. He and Wolfram led a team of students that won an Apple Computer contest to design "The Computer of the Year 2000." Their design entry "Tablet" was a touchscreen tablet with GPS and other features that finally appeared when the Apple iPad was introduced 22 years later. == Other contributions == Subutai Ahmad and Steve Omohundro developed biologically realistic neural models of selective attention. As a research scientist at the NEC Research Institute, Omohundro worked on machine learning and computer vision, and was a co-inventor of U.S. Patent 5,696,964, "Multimedia Database Retrieval System Which Maintains a Posterior Probability Distribution that Each Item in the Database is a Target of a Search." === Pirate puzzle === Omohundro developed an extension to the game theoretic pirate puzzle featured in Scientific American. == Outreach == Omohundro has sat on the Machine Intelligence Research Institute board of advisors. He has written extensively on artificial intelligence, and has warned that "an autonomous weapons arms race is already taking place" because "military and economic pressures are driving the rapid development of autonomous systems".

    Read more →
  • Agent verification

    Agent verification

    Agent verification is activity to gain assurances that purposeful artificial constructs act in accordance with their specifications. While primitive forms of inorganic agents have been used in manufacturing for centuries, the study of artificial agents did not begin until the mid 20th century. Foundational work on such agents was closely bound with the emergence of artificial intelligence as an academic discipline. Early agents deployed for industrial control systems and in computing were often controlled by quite simple logic however, not involving artificial intelligence as such. When deployed as part of a multi-agent system, even such simple agents could require special agent orientated testing methods, as their collective behaviour was challenging to verify with traditional testing techniques. Difficulties in providing assurances that agents will not behave in dangerous ways became more prevalent after the introduction of LLM agents, especially after the rapid acceleration of their deployment in 2025. The verification of agent behaviour can be conducted by formal or informal methods. Informal verification requires less mathematical skill. But when agents are part of systems where errors have significant risks — such as danger to human life, environmental damage or major financial loss — formal verification is preferred. Both regulators and system designers themselves like formal verification as it provides a high degree of mathematical certainty. It is not however always possible to formally test all aspects of an agent based system's behaviour, especially where newer LLM based agents are concerned, due in part to their high degree of autonomy. Accordingly, agent verification for low impact deployments might be carried out only with informal methods, while for high impact deployments, it may be performed with a mix of formal and informal techniques. == Terminology == In academia, the term agent verification is often defined to mean activity concerned with gaining assurance that the agent behaves in accordance with its specification - whether by processes such as testing or simulation. 'Verification' is typically contrasted with 'validation', the latter meaning activity concerned with checking that the specification itself meets user or real world needs. Such definitions are not universally adhered to however - for example, in some workplaces and documents, the words 'verification' and 'validation' can be used synonymously. Efforts to gain confidence in Agents have intensified sharply since 2025 due to the rapid roll out of LLM agents; different terms are sometimes used in the commercial sector. Here the term 'agent verification' can be used in the same sense as it is in academia, but sometimes the same activity can be covered by more ambiguous and wider ranging terms such as 'Agent governance' , 'Agent observability' or 'AI agent policing'. == History == === Classical agents === The theoretical underpinnings for artificial (inorganic) agents emerged in the mid 20th century, with establishment of cybernetics and artificial intelligence. Oliver Selfridge's 1958 Pandemonium - A Paradigm for Learning paper was an important early theoretical contribution in establishing agent oriented architecture. Practical implementations of agents for real world applications began to become widespread in the 1990s, after the introduction of the belief–desire–intention software model (BDI), and agent-oriented programming. Pure digital agents were deployed in computer infrastructure for purposes such as monitoring, while agents connected to real-world sensors and actuators were increasingly used in industrial control systems. While the concept of artificial agents was interwoven with early artificial intelligence studies right from the start, early agents lacked general purpose reasoning capabilities, often only having simple if then logic. Even a device as simple as a thermostat, which has a sensor and a means of acting, can be considered a proto agent in this sense. Verifying the behaviours of a simple single agent system is not generally especially difficult, but it can be a different matter when several simple agents coexist in the same system. Craig Reynolds's work on boids showed that relatively complex, "intelligent" behaviour can emerge from a number of such simple agents working together in a Multi-agent system (MAS). By the 1990s, even the behaviour of a single agent system could sometimes be quite complex; in accordance with the Belief–desire–intention software model, agents could have believes that might evolve over time. Agents were increasingly introduced that were controlled by quite large decision tree models, which had new vulnerabilities to adversarial attack. It was becoming increasingly apparent that traditional software verification methods had limitations for testing such agents, or even for the more primitive type of agents when they were deployed as part of a MAS. It was the use of agents for industrial control systems, sometimes associated with robotics, that lent urgency to the practice of agent verification. Informal testing might be acceptable for digital agents used say to monitor whether each of an organisation's computers are properly licensed. But with an increasing potential for faulty agents to result in a failure that might cause a large fire to break out at a chemical manufacturing plant, a botched medical operation, or even a crashed aircraft, the need to develop reliable means of verifying behaviour of such agents was considered urgent. The Foundation for Intelligent Physical Agents was established in 1996. From the late 90s, a growing number of industry and university based scientists began working on the problem, with researchers publishing papers on the verification of both single and multi agent systems. Much of this work showed how formal verification techniques like model checking could be used to gain a high level of assurance that agent based systems would conform with their specification. A 2018 systematic review covering 231 studies found that model checking was the most common technique for agent verification, with theorem proving the second most commonly used formal verification method. In the first two decades of the 20th century, agents run by AI became more common, with Siri and Alexa being well known examples. But such agents still lacked general reasoning capabilities and did not pose new pressing problems for agent verification. === General purpose reasoning agents === The advent of LLMs created huge potential for further use of artificial agents, as agents based on them could have general purpose cognitive abilities. Agents run by LLMs (and occasionally non-LLM foundation models) have similar vulnerability to adversarial attack as those run by decision tree models. The wider scope of actions for LLM agents has created new challenges for their verification, over and above those present for classical agents. For example, the LLM's neural network endows it with infinite domains, an especial challenge for traditional formal verification techniques. Academics began to study the problems involved in verifying LLM agents from 2018. Deployment of such agents began to accelerate in late 2023 after OpenAI's "function-calling" API was made available, and especially after Anthropic's late 2024 introduction of Model Context Protocol (MCP), a standardised way for LLM agents to gain contextual awareness, and to act on the world by calling various external tools. The rapid rollout of LLM agents following MCP's release has seen the task of agent verification receive increased attention within academia, and also from the private sector. In 2024 and 2025 several startups focusing on LLM agent verification have been founded in both Europe and the US to meet growing demand. == Approaches == === Formal verification === Formal verification involves proving the correctness of some or all aspects of a system using mathematical methods. Such methods can range from manual formal proof, to verification assisted with automated theorem provers like Isabelle. For agent verification, model checking is by far the most frequently used formal verification method; for pre-LLM models it was often complemented with techniques using computation tree logic. Another common method is theorem proving. Formal verification provides a higher degree of confidence than informal methods, but it is not always used, even when it is possible. Sometimes a person or organisation developing software agents won't have the necessary skills, or may not see it as worth the effort if the agent(s) will not have the ability to cause much harm even if they malfunction. When agents are deployed in systems where errors could have serious consequences, the ability of formal verification methods to provide mathematical certainty tends to be strongly preferred by both regulators and designers themselves. But even for high impact systems, formal verificatio

    Read more →
  • Korpusomat

    Korpusomat

    Korpusomat - a tool for creating and searching electronic language corpora, created at the Institute of Computer Science of the Polish Academy of Sciences. Korpusomat is a fourth generation corpus tool. It is a web application, which eliminates the need to store data sets on the user's own computer. The corpus is created either by adding text files from the local drive (in any language and format), or by indicating websites from which texts are to be downloaded. Then, the corpus is annotated automatically on several levels: morphosyntantic, named entities recognition (e.g. geographical names or people) and partial syntantic information (which also allows for the visualization of dependency trees). The finished corpus can be edited, shared with other users, and searched. There are also a number of functions offering statistical summaries of the collected texts

    Read more →
  • Nando de Freitas

    Nando de Freitas

    Nando de Freitas is a researcher in the field of machine learning, and in particular in the subfields of neural networks, Bayesian inference and Bayesian optimization, and deep learning. == Biography == De Freitas was born in Zimbabwe. He did his undergraduate studies (1991–94) and MSc (1994–96) at the University of the Witwatersrand, and his PhD at Trinity College, Cambridge (1996-2000). From 2001, he was a professor at the University of British Columbia, before joining the Department of Computer Science at the University of Oxford from 2013 to 2017. In 2014, he joined Google's DeepMind when the company acquired Oxford spinoff Dark Blue Labs. He was in charge of the team that worked on creating tools for generating audio and images at DeepMind. In September 2024, de Freitas joined Microsoft AI as VP of AI. == Awards and recognition == De Freitas has been recognised for his contributions to machine learning through the following awards: Best Paper Award at the International Conference on Machine Learning (2016) Best Paper Award at the International Conference on Learning Representations (2016) Google Faculty Research Award (2014) Distinguished Paper Award at the International Joint Conference on Artificial Intelligence (2013) Charles A. McDowell Award for Excellence in Research (2012) Mathematics of Information Technology and Complex Systems Young Researcher Award (2010)

    Read more →
  • DFA minimization

    DFA minimization

    In automata theory (a branch of theoretical computer science), DFA minimization is the task of transforming a given deterministic finite automaton (DFA) into an equivalent DFA that has a minimum number of states. Here, two DFAs are called equivalent if they recognize the same regular language. Several different algorithms accomplishing this task are known and described in standard textbooks on automata theory. == Minimal DFA == For each regular language, there also exists a minimal automaton that accepts it, that is, a DFA with a minimum number of states and this DFA is unique (except that states can be given different names). The minimal DFA ensures minimal computational cost for tasks such as pattern matching. There are three classes of states that can be removed or merged from the original DFA without affecting the language it accepts. Unreachable states are the states that are not reachable from the initial state of the DFA, for any input string. These states can be removed. Dead states are the states from which no final state is reachable. These states can be removed unless the automaton is required to be complete. Nondistinguishable states are those that cannot be distinguished from one another for any input string. These states can be merged. DFA minimization is usually done in three steps: remove dead and unreachable states (this will accelerate the following step), merge nondistinguishable states, optionally, re-create a single dead state ("sink" state) if the resulting DFA is required to be complete. == Unreachable states == The state p {\displaystyle p} of a deterministic finite automaton M = ( Q , Σ , δ , q 0 , F ) {\displaystyle M=(Q,\Sigma ,\delta ,q_{0},F)} is unreachable if no string w {\displaystyle w} in Σ ∗ {\displaystyle \Sigma ^{}} exists for which p = δ ∗ ( q 0 , w ) {\displaystyle p=\delta ^{}(q_{0},w)} . In this definition, Q {\displaystyle Q} is the set of states, Σ {\displaystyle \Sigma } is the set of input symbols, δ {\displaystyle \delta } is the transition function (mapping a state and an input symbol to a set of states), δ ∗ {\displaystyle \delta ^{}} is its extension to strings (also known as extended transition function), q 0 {\displaystyle q_{0}} is the initial state, and F {\displaystyle F} is the set of accepting (also known as final) states. Reachable states can be obtained with the following algorithm: Assuming an efficient implementation of the state sets (e.g. new_states) and operations on them (such as adding a state or checking whether it is present), this algorithm can be implemented with time complexity O ( n + m ) {\displaystyle O(n+m)} , where n {\displaystyle n} is the number of states and m {\displaystyle m} is the number of transitions of the input automaton. Unreachable states can be removed from the DFA without affecting the language that it accepts. == Nondistinguishable states == The following algorithms present various approaches to merging nondistinguishable states. === Hopcroft's algorithm === One algorithm for merging the nondistinguishable states of a DFA, due to Hopcroft (1971), is based on partition refinement, partitioning the DFA states into groups by their behavior. These groups represent equivalence classes of the Nerode congruence, whereby every two states are equivalent if they have the same behavior for every input sequence. That is, for every two states p1 and p2 that belong to the same block of the partition P, and every input word w, the transitions determined by w should always take states p1 and p2 to either states that both accept or states that both reject. It should not be possible for w to take p1 to an accepting state and p2 to a rejecting state or vice versa. The following pseudocode describes the form of the algorithm as given by Xu. Alternative forms have also been presented. The algorithm starts with a partition that is too coarse: every pair of states that are equivalent according to the Nerode congruence belong to the same set in the partition, but pairs that are inequivalent might also belong to the same set. It gradually refines the partition into a larger number of smaller sets, at each step splitting sets of states into pairs of subsets that are necessarily inequivalent. The initial partition is a separation of the states into two subsets of states that clearly do not have the same behavior as each other: the accepting states and the rejecting states. The algorithm then repeatedly chooses a set A from the current partition and an input symbol c, and splits each of the sets of the partition into two (possibly empty) subsets: the subset of states that lead to A on input symbol c, and the subset of states that do not lead to A. Since A is already known to have different behavior than the other sets of the partition, the subsets that lead to A also have different behavior than the subsets that do not lead to A. When no more splits of this type can be found, the algorithm terminates. Lemma. Given a fixed character c and an equivalence class Y that splits into equivalence classes B and C, only one of B or C is necessary to refine the whole partition. Example: Suppose we have an equivalence class Y that splits into equivalence classes B and C. Suppose we also have classes D, E, and F; D and E have states with transitions into B on character c, while F has transitions into C on character c. By the Lemma, we can choose either B or C as the distinguisher, let's say B. Then the states of D and E are split by their transitions into B. But F, which doesn't point into B, simply doesn't split during the current iteration of the algorithm; it will be refined by other distinguisher(s). Observation. All of B or C is necessary to split referring classes like D, E, and F correctly—subsets won't do. The purpose of the outermost if statement (if Y is in W) is to patch up W, the set of distinguishers. We see in the previous statement in the algorithm that Y has just been split. If Y is in W, it has just become obsolete as a means to split classes in future iterations. So Y must be replaced by both splits because of the Observation above. If Y is not in W, however, only one of the two splits, not both, needs to be added to W because of the Lemma above. Choosing the smaller of the two splits guarantees that the new addition to W is no more than half the size of Y; this is the core of the Hopcroft algorithm: how it gets its speed, as explained in the next paragraph. The worst case running time of this algorithm is O(ns log n), where n is the number of states and s is the size of the alphabet. This bound follows from the fact that, for each of the ns transitions of the automaton, the sets drawn from Q that contain the target state of the transition have sizes that decrease relative to each other by a factor of two or more, so each transition participates in O(log n) of the splitting steps in the algorithm. The partition refinement data structure allows each splitting step to be performed in time proportional to the number of transitions that participate in it. This remains the most efficient algorithm known for solving the problem, and for certain distributions of inputs its average-case complexity is even better, O(n log log n). Once Hopcroft's algorithm has been used to group the states of the input DFA into equivalence classes, the minimum DFA can be constructed by forming one state for each equivalence class. If S is a set of states in P, s is a state in S, and c is an input character, then the transition in the minimum DFA from the state for S, on input c, goes to the set containing the state that the input automaton would go to from state s on input c. The initial state of the minimum DFA is the one containing the initial state of the input DFA, and the accepting states of the minimum DFA are the ones whose members are accepting states of the input DFA. === Moore's algorithm === Moore's algorithm for DFA minimization is due to Edward F. Moore (1956). Like Hopcroft's algorithm, it maintains a partition that starts off separating the accepting from the rejecting states, and repeatedly refines the partition until no more refinements can be made. At each step, it replaces the current partition with the coarsest common refinement of s + 1 partitions, one of which is the current one and the rest of which are the preimages of the current partition under the transition functions for each of the input symbols. The algorithm terminates when this replacement does not change the current partition. Its worst-case time complexity is O(n2s): each step of the algorithm may be performed in time O(ns) using a variant of radix sort to reorder the states so that states in the same set of the new partition are consecutive in the ordering, and there are at most n steps since each one but the last increases the number of sets in the partition. The instances of the DFA minimization problem that cause the worst-case behavior are the same as for Hopcroft's algorithm. The number of steps th

    Read more →
  • Rake (software)

    Rake (software)

    Rake is a software task management and a build automation tool created by Jim Weirich. It allows the user to specify tasks and to describe dependencies as well as to group tasks into namespaces. It is similar to SCons and Make. Rake was written in Ruby and has been part of the standard library of Ruby since version 1.9. == Examples == The tasks that should be executed need to be defined in a configuration file called Rakefile. A Rakefile has no special syntax and contains executable Ruby code. === Tasks === The basic unit in Rake is the task. A task has a name and an action block, that defines its functionality. The following code defines a task called greet that will output the text "Hello, Rake!" to the console. When defining a task, you can optionally add dependencies, that is one task can depend on the successful completion of another task. Calling the "seed" task from the following example will first execute the "migrate" task and only then proceed with the execution of the "seed" task.Tasks can also be made more versatile by accepting arguments. For example, the "generate_report" task will take a date as argument. If no argument is supplied the current date is used.A special type of task is the file task, which can be used to specify file creation tasks. The following task, for example, is given two object files, i.e. "a.o" and "b.o", to create an executable program.Another useful tool is the directory convenience method, that can be used to create directories upon demand. === Rules === When a file is named as a prerequisite but it does not have a file task defined for it, Rake will attempt to synthesize a task by looking at a list of rules supplied in the Rakefile. For example, suppose we were trying to invoke task "mycode.o" with no tasks defined for it. If the Rakefile has a rule that looks like this: This rule will synthesize any task that ends in ".o". It has as a prerequisite that a source file with an extension of ".c" must exist. If Rake is able to find a file named "mycode.c", it will automatically create a task that builds "mycode.o" from "mycode.c". If the file "mycode.c" does not exist, Rake will attempt to recursively synthesize a rule for it. When a task is synthesized from a rule, the source attribute of the task is set to the matching source file. This allows users to write rules with actions that reference the source file. === Advanced rules === Any regular expression may be used as the rule pattern. Additionally, a proc may be used to calculate the name of the source file. This allows for complex patterns and sources. The following rule is equivalent to the example above: NOTE: Because of a quirk in Ruby syntax, parentheses are required around a rule when the first argument is a regular expression. The following rule might be used for Java files: === Namespaces === To better organize big Rakefiles, tasks can be grouped into namespaces. Below is an example of a simple Rake recipe:

    Read more →
  • Linguistic Data Consortium

    Linguistic Data Consortium

    The Linguistic Data Consortium is an open consortium of universities, companies and government research laboratories. It creates, collects and distributes speech and text databases, lexicons, and other resources for linguistics research and development purposes. The University of Pennsylvania is the LDC's host institution. The LDC was founded in 1992 with a grant from the US Defense Advanced Research Projects Agency (DARPA), and is partly supported by grant IRI-9528587 from the Information and Intelligent Systems division of the National Science Foundation. The director of LDC is Mark Liberman. It subsumed the previous ACL Data Collection Initiative. Part of the motivation was to support the benchmark-oriented methodology of DARPA's Human Language Technology program. Previously, John R. Pierce directed the committee that produced the ALPAC report (1966), which caused a severe decrease in funding for linguistic AI for about 10 years. Later, Charles Wayne restarted funding in speech and language in the mid-1980s. In order to avoid the criticisms from the ALPAC report, they needed a way to demonstrate objective progress, which led to the benchmark-oriented methodology. DARPA would propose specific quantifiable and testable score targets on benchmarks, and teams being funded would attempt to reach the score targets. It was noted that by 1993, the data needed for training and benchmarking the models was big enough that "Not even the largest companies can easily afford enough of [the needed] data... Researchers at smaller companies and in universities risk being frozen out of the process almost entirely." The LDC provided a central location for creating and dispensing such data. There is a membership fee that has been increased once since its founding.

    Read more →
  • Node2vec

    Node2vec

    node2vec is an algorithm to generate vector representations of nodes on a graph. The node2vec framework learns low-dimensional representations for nodes in a graph through the use of random walks through a graph starting at a target node. It is useful for a variety of machine learning applications. node2vec follows the intuition that random walks through a graph can be treated like sentences in a corpus. Each node in a graph is treated like an individual word, and a random walk is treated as a sentence. By feeding these "sentences" into a skip-gram, or by using the continuous bag of words model, paths found by random walks can be treated as sentences, and traditional data-mining techniques for documents can be used. The algorithm generalizes prior work which is based on rigid notions of network neighborhoods, and argues that the added flexibility in exploring neighborhoods is the key to learning richer representations of nodes in graphs. The algorithm is considered one of the best graph classifiers.

    Read more →