AI Headshot Apk

AI Headshot Apk — independent reviews, comparisons, pricing and step-by-step guides on Aizhi.

  • Pocketbook (application)

    Pocketbook (application)

    Pocketbook was a Sydney-based free budget planner and personal finance app launched in 2012. The app helped users setup and manage budgets, track spending and manage bills. As of 2016 Pocketbook claimed to support over 250,000 Australians, in January 2018 that number was 435,000. After being acquired by Zip Co Ltd in 2016, it was announced in 2022 that the app was to be shut down and all user accounts deleted. == History == Pocketbook was founded by Alvin Singh and Bosco Tan in 2012. It was conceived in 2011 in a Wolli Creek apartment as a tool for Alvin and Bosco to take control of their money. In 2013, Pocketbook raised $500,000 from technology fund Tank Stream Ventures, and a group of investors including TV personality David Koch, Geoff Levy, David Shein and Peter Cooper. In September 2016 Digital retail finance and payment industry player zipMoney (now trading as Zip Co Limited) acquired Pocketbook in a $7.5m deal == Features == The app synced with the bank account of users and would organize spending into different categories. Users could also be reminded of bill payments, analyse spending and set spending limits. They can also be alerted of fraudulent transactions and deductions. The app employs security measures like end to end encryption, CloudFlare protection, fraud detection, identity protection etc. Pocketbook was available via web and mobile version. == Awards == Personal Finance Innovator of the Year by Fintech Business Awards 2017 Innovator of the Year by OPTUS MyBusiness Awards 2017 Best Finance App of 2016 by Australian Fintech Best Personal Finance App: Pocketbook won the 2016 Finder Innovation Awards, presented at a gala dinner hosted by media personality and The New Inventors presenter James O'Loghlin. Best Mobile App of the Year Winner: StartCon hosted the first annual Australasian Startup Awards. Over 200 nominations in 14 categories and an overall winner were reviewed, and winners were determined by public voting, with over 63,000 votes in total. Best New Startup 2014 by StartupSmart. Finalist in the SWIFT Innotribe startup competition in Dubai in 2013.

    Read more →
  • The Best Free AI Pair Programmer for Beginners

    The Best Free AI Pair Programmer for Beginners

    Comparing the best AI pair programmer? An AI pair programmer is software that uses machine learning to help you get more done — it lowers the barrier so anyone can produce professional output. Privacy matters too: check whether your data trains the model and whether a no-log or enterprise tier is available. Whether you are a beginner or a pro, the right AI pair programmer slots into your workflow and pays for itself fast. Below we compare features, pricing, and real output so you can choose with confidence.

    Read more →
  • Cobham's theorem

    Cobham's theorem

    Cobham's theorem is a theorem in combinatorics on words that has important connections with number theory, notably transcendental numbers, and automata theory. Informally, the theorem gives the condition for the members of a set S of natural numbers written in bases b1 and base b2 to be recognised by finite automata. Specifically, consider bases b1 and b2 such that they are not powers of the same integer. Cobham's theorem states that S written in bases b1 and b2 is recognised by finite automata if and only if S differs by a finite set from a finite union of arithmetic progressions. The theorem was proved by Alan Cobham in 1969 and has since given rise to many extensions and generalisations. == Definitions == Let n > 0 {\displaystyle n>0} be an integer. The representation of a natural number n {\textstyle n} in base b {\textstyle b} is the sequence of digits n 0 n 1 ⋯ n h {\displaystyle n_{0}n_{1}\cdots n_{h}} such that n = n 0 + n 1 b + ⋯ + n h b h {\displaystyle n=n_{0}+n_{1}b+\cdots +n_{h}b^{h}} where 0 ≤ n 0 , n 1 , … , n h < b {\displaystyle 0\leq n_{0},n_{1},\ldots ,n_{h} 0 {\displaystyle n_{h}>0} . The word n 0 n 1 ⋯ n h {\displaystyle n_{0}n_{1}\cdots n_{h}} is often denoted ⟨ n ⟩ b {\displaystyle \langle n\rangle _{b}} , or more simply, n b {\displaystyle n_{b}} . A set of natural numbers S is recognisable in base b {\textstyle b} or more simply b {\textstyle b} -recognisable or b {\textstyle b} -automatic if the set { n b ∣ n ∈ S } {\displaystyle \{n_{b}\mid n\in S\}} of the representations of its elements in base b {\displaystyle b} is a language recognisable by a finite automaton on the alphabet { 0 , 1 , … , b − 1 } {\displaystyle \{0,1,\ldots ,b-1\}} . Two positive integers k {\displaystyle k} and ℓ {\displaystyle \ell } are multiplicatively independent if there are no non-negative integers p {\displaystyle p} and q {\displaystyle q} such that k p = ℓ q {\displaystyle k^{p}=\ell ^{q}} . For example, 2 and 3 are multiplicatively independent, but 8 and 16 are not since 8 4 = 16 3 {\displaystyle 8^{4}=16^{3}} . Two integers are multiplicatively dependent if and only if they are powers of a same third integer. == Problem statements == === Original problem statement === More equivalent statements of the theorem have been given. The original version by Cobham is the following: Another way to state the theorem is by using automatic sequences. Cobham himself calls them "uniform tag sequences." The following form is found in Allouche and Shallit's book:We can show that the characteristic sequence of a set of natural numbers S recognisable by finite automata in base k is a k-automatic sequence and that conversely, for all k-automatic sequences u {\displaystyle u} and all integers 0 ≤ i < k {\displaystyle 0\leq i 1 {\displaystyle \alpha >1} is the dominant eigenvalue of the matrix of morphism f {\displaystyle f} , namely, the matrix M ( f ) = ( m x , y ) x ∈ B , y ∈ A {\displaystyle M(f)=(m_{x,y})_{x\in B,y\in A}} , where m x , y {\displaystyle m_{x,y}} is the number of occurrences of the letter x {\displaystyle x} in the word f ( y ) {\displaystyle f(y)} . A set S of natural numbers is α {\displaystyle \alpha } -recognisable if its characteristic sequence s {\displaystyle s} is α {\displaystyle \alpha } -substitutive. A last definition: a Perron number is an algebraic number z > 1 {\displaystyle z>1} such that all its conjugates belong to the disc { z ′ ∈ C , | z ′ | < z } {\displaystyle \{z'\in \mathbb {C} ,|z'| Read more →

  • Top 10 AI Sales Assistants Compared (2026)

    Top 10 AI Sales Assistants Compared (2026)

    Looking for the best AI sales assistant? An AI sales assistant is software that uses machine learning to help you get more done — it can save you hours every week by automating repetitive work. Most options offer a generous free tier, with paid plans unlocking higher limits, faster processing, and team features. Whether you are a beginner or a pro, the right AI sales assistant slots into your workflow and pays for itself fast. This guide breaks down the top picks, their pros and cons, and who each one is best for.

    Read more →
  • Lexxe

    Lexxe

    Lexxe is an internet search engine that applies Natural Language Processing in its semantic search technology. Founded in 2005 by Dr. Hong Liang Qiao, Lexxe is based in Sydney, Australia. Today, Lexxe's key focus is on sentiment search with the launch of a news sentiment search site at News & Moods (www.newsandmoods.com). Lexxe has experienced several stages of change of focus in search technology: Lexxe launched its Alpha version in 2005, featuring Natural Language question answering (i.e. users could ask questions in English to the search engine apart from keyword searches — this feature has been suspended for redevelopment since 2010). It used only algorithms to extract answers from web pages, with no question-answer pair databases prepared in advance. In 2011, Lexxe launched a beta version with a new search technology called Semantic Key. Semantic Keys enable users to query with a conceptual keyword (or a keyword with a special meaning, hence the term Semantic Key) in order to find instances under the concept, e.g. price → $5.95 or €200, color → red, yellow, white. For example, “price: a pound of apples”, “color: ferrari”. With initial 500 Semantic Keys at the Beta launch, Lexxe became the first search engine in the world to offer this unique and useful search technology to the users. The cost of building Semantic Keys was too heavy though. In 2017, Lexxe launched News & Moods (www.newsandmoods.com), an open platform for news sentiment search, a first step towards sentiment search feature for the entire Internet search in Lexxe search engine. News & Moods also comes with smartphone apps in Android and iOS.

    Read more →
  • Julie Beth Lovins

    Julie Beth Lovins

    Julie Beth Lovins (October 19, 1945, in Washington, D.C. – January 26, 2018, in Mountain View, California) was a computational linguist who published The Lovins Stemming Algorithm - a type of stemming algorithm for word matching - in 1968. The Lovins Stemmer is a single pass, context sensitive stemmer, which removes endings based on the longest-match principle. The stemmer was the first to be published and was extremely well developed considering the date of its release, having been the main influence on a large amount of the future work in the area. -Adam G., et al == Background == Born on October 19, 1945, in Washington, D.C., Lovins grew up in Amherst, Massachusetts. Her father Gerald H. Lovins was an engineer and her mother, Miriam Lovins, a social services administrator. Lovins' brother Amory Lovins is the co-founder and chief environmental scientist of Rocky Mountain Institute. For her undergraduate degree, Lovins attended Pembroke College, the women's college of Brown University, which later combined into Brown University in 1971. At Pembroke College, Lovins studied mathematics and linguistics, graduating with honors. Her thesis was named, A Study of Idioms. She received the inaugural Bloch Fellowship in 1970 from the Linguistic Society of America to attend graduate school. Lovins obtained her Master of Arts in 1970 and Doctor of Philosophy in 1973 from the University of Chicago, studying linguistics. At the University of Chicago, her dissertation was titled, Loan Phonology -- Subject Matter. A revision of her thesis on loanwords and the phonological structure of Japanese was published in 1975 by the Indiana University Linguistics Club. == Teaching career == Following Lovins' PhD, she spent a year working as a linguist-at-large at a University of Tokyo language research institute and as an English conversation teacher. She then joined the faculty at Tsuda College as a professor of English and linguistics, where she taught for seven years. During her time as a faculty member at Tsuda College, Lovins also served as a guest researcher in the University of Tokyo's Research Institute of Logopedics and Phoniatrics, a research center for speech science. == Industry career == After teaching Japanese phonology at Japanese universities abroad, Lovins moved back to the U.S. to work in the computing industry. She worked on early speech synthesis at Bell Labs in Murray Hill, New Jersey. At Bell Labs, Lovins worked with Osamu Fujimura, a Japanese linguist who is credited as a pioneer in speech sciences. Lovins also worked as a software engineer at various companies in Silicon Valley and served as a consultant for computational linguistics throughout the 1990s. As a consultant, she called her business, "The Language Doctor." == The Lovins Stemming Algorithm == Lovins published an article about her work on developing a stemming algorithm through the Research Laboratory of Electronics at MIT in 1968. Lovins' stemming algorithm is frequently referred to as the Lovins stemmer. A stemming algorithm is the process of taking a word with suffixes and reducing it to its root, or base word. Stemming algorithms are used to improve the accuracy in information retrieval and in domain analysis. These algorithms help find variants of the terms being queried. Stemming algorithms bring value in their reduction of a given query into its less complex form, allowing more similar documents to be retrieved for similar queries. Stemming algorithms are prevalent in search engines, such as Google Search, which did not implement word stemming until 2003. This means that up until 2003, a Google search for the word warm would not have explicitly returned results for related words like warmth or warming. As the first published stemming algorithm, Lovins' work set a precedent and influenced future work in stemming algorithms, such as the Porter Stemmer published by Martin Porter in 1980 which has been recognized widely as the most common stemming algorithm for stemming English. Additionally, the Dawson Stemmer developed by John Dawson is an extension of the Lovins stemmer. The Lovins stemmer follows a rule-based affix elimination approach. It first removes the longest identifiable suffix from the target word - producing a base stem word - then indexes a lookup table to convert the (potentially malformed) stem word to a valid word. This process can be split into two phases. In the first phase, a word is compared with a pre-determined list of endings, and when a word is found to contain one of these endings, the ending is removed, leaving only the stem of the word. The second phase standardizes spelling exceptions that come from the first phase, ensuring that words with only marginally varying stems are appropriately paired together. For example, with the word dried, phase one results in dri, which should match with the word dry. The second phase takes care of these exceptions. Compared to other stemmers, Lovins' algorithm is fast and equipped to handle irregular plural words like person and people. Disadvantages, however, include many suffixes not being available in the table of endings. Furthermore, it is sometimes highly unreliable and frequently fails to form valid words from the stems or to match the stems of like-meaning words. This is most often caused by the usage of specialist terminology and domain-specific vocabulary by the author. == Personal life == Lovins moved to Mountain View, California, in 1979, and later to Old Mountain View in 1981 with her partner and later husband Greg Fowler, a software engineer and advocate for environmental issues & the blind. In their free time, she and her husband enjoyed taking walks and volunteering for their local community. Lovins actively volunteered for organizations like the Old Mountain View Neighborhood Association, Mountain View Friends of the Library, League of Women Voters, Mountain View Cool Cities Team, and the Mountain View Sustainability Task Force. In 2016, Lovins' husband died unexpectedly, following a heart attack. Eighteen days after her husband died, Lovins was diagnosed with brain cancer. She died on January 26, 2018, at a hospice, surrounded by friends, family and caregivers.

    Read more →
  • Léon Bottou

    Léon Bottou

    Léon-Yves Bottou (French pronunciation: [leɔ̃ bɔtu]; born 1965) is a researcher best known for his work in machine learning and data compression. His work presents stochastic gradient descent as a fundamental learning algorithm. He is also one of the main creators of the DjVu image compression technology (together with Yann LeCun and Patrick Haffner), and the maintainer of DjVuLibre, the open source implementation of DjVu. He is the original developer of the Lush programming language. == Life == Léon Bottou was born in France in 1965. He obtained the Diplôme d'Ingénieur from École Polytechnique in 1987, a Magistère de Mathématiques Fondamentales et Appliquées et d’Informatique from École Normale Supérieure in 1988, a Diplôme d'Études Approndies in Computer Science in 1988, in 1988, and a PhD from Université Paris-Sud in 1991. In 1988, in collaboration with Yann LeCun, he published SN, a software package for simulating artificial neural networks. His master's thesis concerned using Time Delay Neural Networks for speech recognition. He then joined the Adaptive Systems Research Department at AT&T Bell Laboratories in Holmdel, New Jersey, where he collaborated with Vladimir Vapnik on local learning algorithms. in 1992, he returned to France and founded Neuristique S.A., a company that produced machine learning tools and one of the first data mining software packages, including Lush, an object-oriented programming language based on C and Lisp designed for training and using large-scale neural networks. In 1995, he returned to Bell Laboratories, where he developed a number of new machine learning methods, such as Graph Transformer Networks (similar to conditional random field), and applied them to handwriting recognition and OCR. The bank check recognition system that he helped develop was widely deployed by NCR and other companies, reading over 10% of all the checks in the US in the late 1990s and early 2000s. In 1996, he joined AT&T Labs and worked primarily on the DjVu image compression technology, that is used by some websites, notably the Internet Archive, to distribute scanned documents. Between 2002 and 2010, he was a research scientist at NEC Laboratories in Princeton, New Jersey, where he focused on the theory and practice of machine learning with large-scale datasets, on-line learning, and stochastic optimization methods. He developed the open source software LaSVM for fast large-scale support vector machine, and stochastic gradient descent software for training linear SVM and Conditional Random Fields. In 2010 he joined the Microsoft adCenter in Redmond, Washington, and in 2012 became a Principal Researcher at Microsoft Research in New York City. In March 2015 he joined Facebook Artificial Intelligence Research, also in New York City, as a research lead. His work in gradient descent argued that both stochastic gradient descent and batch gradient descent reach similar levels of loss with the same number of training samples, but SGD is faster when running on large datasets. He also argued that second-order gradient descent methods, such as quasi-Newton methods, can be beneficial compared to plain SGD. See (Bottou et al 2018) for a review. He was program chair of the 2013 Conference on Neural Information Processing Systems and the 2009 International Conference on Machine Learning. In 2007, he was received one of the first Blavatnik Awards for Young Scientists from the Blavatnik Family Foundation and the New York Academy of Sciences.

    Read more →
  • Nondeterministic finite automaton

    Nondeterministic finite automaton

    In automata theory, a finite-state machine is called a deterministic finite automaton (DFA), if each of its transitions is uniquely determined by its source state and input symbol, and reading an input symbol is required for each state transition. A nondeterministic finite automaton (NFA), or nondeterministic finite-state machine, does not need to obey these restrictions. In particular, every DFA is also an NFA. Sometimes the term NFA is used in a narrower sense, referring to an NFA that is not a DFA, but not in this article. Using the subset construction algorithm, each NFA can be translated to an equivalent DFA; i.e., a DFA recognizing the same formal language. Like DFAs, NFAs only recognize regular languages. NFAs were introduced in 1959 by Michael O. Rabin and Dana Scott, who also showed their equivalence to DFAs. NFAs are used in the implementation of regular expressions: Thompson's construction is an algorithm for compiling a regular expression to an NFA that can efficiently perform pattern matching on strings. Conversely, Kleene's algorithm can be used to convert an NFA into a regular expression (whose size is generally exponential in the input automaton). NFAs have been generalized in multiple ways, e.g., nondeterministic finite automata with ε-moves, finite-state transducers, pushdown automata, alternating automata, ω-automata, and probabilistic automata. Besides the DFAs, other known special cases of NFAs are unambiguous finite automata (UFA) and self-verifying finite automata (SVFA). == Informal introduction == There are at least two equivalent ways to describe the behavior of an NFA. The first way makes use of the nondeterminism in the name of an NFA. For each input symbol, the NFA transitions to a new state until all input symbols have been consumed. In each step, the automaton nondeterministically "chooses" one of the applicable transitions. If there exists at least one "lucky run", i.e. some sequence of choices leading to an accepting state after completely consuming the input, it is accepted. Otherwise, i.e. if no choice sequence at all can consume all the input and lead to an accepting state, the input is rejected. In the second way, the NFA consumes a string of input symbols, one by one. In each step, whenever two or more transitions are applicable, it "clones" itself into appropriately many copies, each one following a different transition. If no transition is applicable, the current copy is in a dead end, and it "dies". If, after consuming the complete input, any of the copies is in an accept state, the input is accepted, else, it is rejected. == Formal definition == For a more elementary introduction of the formal definition, see automata theory. === Automaton === An NFA is represented formally by a 5-tuple, ( Q , Σ , δ , q 0 , F ) {\displaystyle (Q,\Sigma ,\delta ,q_{0},F)} , consisting of a finite set of states Q {\displaystyle Q} , a finite set of input symbols called the alphabet Σ {\displaystyle \Sigma } , a transition function δ {\displaystyle \delta } : Q × Σ → P ( Q ) {\displaystyle Q\times \Sigma \rightarrow {\mathcal {P}}(Q)} , an initial (or start) state q 0 ∈ Q {\displaystyle q_{0}\in Q} , and a set of accepting (or final) states F ⊆ Q {\displaystyle F\subseteq Q} . Here, P ( Q ) {\displaystyle {\mathcal {P}}(Q)} denotes the power set of Q {\displaystyle Q} . === Recognized language === Given an NFA M = ( Q , Σ , δ , q 0 , F ) {\displaystyle M=(Q,\Sigma ,\delta ,q_{0},F)} , its recognized language is denoted by L ( M ) {\displaystyle L(M)} , and is defined as the set of all strings over the alphabet Σ {\displaystyle \Sigma } that are accepted by M {\displaystyle M} . Loosely corresponding to the above informal explanations, there are several equivalent formal definitions of a string w = a 1 a 2 . . . a n {\displaystyle w=a_{1}a_{2}...a_{n}} being accepted by M {\displaystyle M} : w {\displaystyle w} is accepted if a sequence of states, r 0 , r 1 , . . . , r n {\displaystyle r_{0},r_{1},...,r_{n}} , exists in Q {\displaystyle Q} such that: r 0 = q 0 {\displaystyle r_{0}=q_{0}} r i + 1 ∈ δ ( r i , a i + 1 ) {\displaystyle r_{i+1}\in \delta (r_{i},a_{i+1})} , for i = 0 , … , n − 1 {\displaystyle i=0,\ldots ,n-1} r n ∈ F {\displaystyle r_{n}\in F} . In words, the first condition says that the machine starts in the start state q 0 {\displaystyle q_{0}} . The second condition says that given each character of string w {\displaystyle w} , the machine will transition from state to state according to the transition function δ {\displaystyle \delta } . The last condition says that the machine accepts w {\displaystyle w} if the last input of w {\displaystyle w} causes the machine to halt in one of the accepting states. In order for w {\displaystyle w} to be accepted by M {\displaystyle M} , it is not required that every state sequence ends in an accepting state, it is sufficient if one does. Otherwise, i.e. if it is impossible at all to get from q 0 {\displaystyle q_{0}} to a state from F {\displaystyle F} by following w {\displaystyle w} , it is said that the automaton rejects the string. The set of strings M {\displaystyle M} accepts is the language recognized by M {\displaystyle M} and this language is denoted by L ( M ) {\displaystyle L(M)} . Alternatively, w {\displaystyle w} is accepted if δ ∗ ( q 0 , w ) ∩ F ≠ ∅ {\displaystyle \delta ^{}(q_{0},w)\cap F\not =\emptyset } , where δ ∗ : Q × Σ ∗ → P ( Q ) {\displaystyle \delta ^{}:Q\times \Sigma ^{}\rightarrow {\mathcal {P}}(Q)} is defined recursively by: δ ∗ ( r , ε ) = { r } {\displaystyle \delta ^{}(r,\varepsilon )=\{r\}} where ε {\displaystyle \varepsilon } is the empty string, and δ ∗ ( r , x a ) = ⋃ r ′ ∈ δ ∗ ( r , x ) δ ( r ′ , a ) {\displaystyle \delta ^{}(r,xa)=\bigcup _{r'\in \delta ^{}(r,x)}\delta (r',a)} for all x ∈ Σ ∗ , a ∈ Σ {\displaystyle x\in \Sigma ^{},a\in \Sigma } . In words, δ ∗ ( r , x ) {\displaystyle \delta ^{}(r,x)} is the set of all states reachable from state r {\displaystyle r} by consuming the string x {\displaystyle x} . The string w {\displaystyle w} is accepted if some accepting state in F {\displaystyle F} can be reached from the start state q 0 {\displaystyle q_{0}} by consuming w {\displaystyle w} . === Initial state === The above automaton definition uses a single initial state, which is not necessary. Sometimes, NFAs are defined with a set of initial states. There is an easy construction that translates an NFA with multiple initial states to an NFA with a single initial state, which provides a convenient notation. == Example == The following automaton M, with a binary alphabet, determines if the input ends with a 1. Let M = ( { p , q } , { 0 , 1 } , δ , p , { q } ) {\displaystyle M=(\{p,q\},\{0,1\},\delta ,p,\{q\})} where the transition function δ {\displaystyle \delta } can be defined by this state transition table (cf. upper left picture): State Input 0 1 p { p } { p , q } q ∅ ∅ {\displaystyle {\begin{array}{|c|cc|}{\bcancel {{}_{\text{State}}\quad {}^{\text{Input}}}}&0&1\\\hline p&\{p\}&\{p,q\}\\q&\emptyset &\emptyset \end{array}}} Since the set δ ( p , 1 ) {\displaystyle \delta (p,1)} contains more than one state, M is nondeterministic. The language of M can be described by the regular language given by the regular expression (0|1)1. All possible state sequences for the input string "1011" are shown in the lower picture. The string is accepted by M since one state sequence satisfies the above definition; it does not matter that other sequences fail to do so. The picture can be interpreted in a couple of ways: In terms of the above "lucky-run" explanation, each path in the picture denotes a sequence of choices of M. In terms of the "cloning" explanation, each vertical column shows all clones of M at a given point in time, multiple arrows emanating from a node indicate cloning, a node without emanating arrows indicating the "death" of a clone. The feasibility to read the same picture in two ways also indicates the equivalence of both above explanations. Considering the first of the above formal definitions, "1011" is accepted since when reading it M may traverse the state sequence ⟨ r 0 , r 1 , r 2 , r 3 , r 4 ⟩ = ⟨ p , p , p , p , q ⟩ {\displaystyle \langle r_{0},r_{1},r_{2},r_{3},r_{4}\rangle =\langle p,p,p,p,q\rangle } , which satisfies conditions 1 to 3. Concerning the second formal definition, bottom-up computation shows that δ ∗ ( p , ε ) = { p } {\displaystyle \delta ^{}(p,\varepsilon )=\{p\}} , hence δ ∗ ( p , 1 ) = δ ( p , 1 ) = { p , q } {\displaystyle \delta ^{}(p,1)=\delta (p,1)=\{p,q\}} , hence δ ∗ ( p , 10 ) = δ ( p , 0 ) ∪ δ ( q , 0 ) = { p } ∪ { } {\displaystyle \delta ^{}(p,10)=\delta (p,0)\cup \delta (q,0)=\{p\}\cup \{\}} , hence δ ∗ ( p , 101 ) = δ ( p , 1 ) = { p , q } {\displaystyle \delta ^{}(p,101)=\delta (p,1)=\{p,q\}} , and hence δ ∗ ( p , 1011 ) = δ ( p , 1 ) ∪ δ ( q , 1 ) = { p , q } ∪ { } {\displaystyle \delta ^{}(p,1011)=\delta (p,1)\cup \delta (q,1)=\{p,q\}\cup \{\}} ; since that set is

    Read more →
  • ZipBooks

    ZipBooks

    ZipBooks is a free online accounting software company based in American Fork, Utah. The cloud-based software is an accounting and bookkeeping tool that helps business owners process credit cards, track finances, and send invoices, among other features. == History == ZipBooks was founded by Tim Chaves in June 2015, backed by venture capital firm Peak Ventures. The company secured an additional $2 million of funding in July 2016, and in 2017 it was awarded a $100,000 economic grant by the Utah Governor's Office of Economic Development Technology Commercialization and Innovation Program. == Products == ZipBooks' core modules are invoicing, transactions, bills, reporting, time tracking, contacts, and payroll. Accrual accounting was added in 2017. The application is available on G Suite, iOS, Slack, and as a web application. == Reception == Computerworld compared ZipBooks favorably with other accounting software. PC Magazine praised its user experience, but stated it lacked "a lot of features that competing sites offer".

    Read more →
  • Robert Wilensky

    Robert Wilensky

    Robert Wilensky (26 March 1951 – 15 March 2013) was an American computer scientist and professor at the UC Berkeley School of Information, with his main focus of research in artificial intelligence. == Academic career == In 1971, Wilensky received his bachelor's degree in mathematics from Yale University, and in 1978, a Ph.D. in computer science from the same institution. After finishing his thesis, "Understanding Goal-Based Stories", Wilensky joined the faculty from the EECS Department of UC Berkeley. In 1986, he worked as the doctoral advisor of Peter Norvig, who then later published the standard textbook of the field: Artificial Intelligence: A Modern Approach. From 1993 to 1997, Wilensky was the Berkeley Computer Science Division Chair. During this time, he also served as director of the Berkeley Cognitive Science Program, director of the Berkeley Artificial Intelligence Research Project, and board member of the International Computer Science Institute. In 1997, he became a fellow of the Association for Computing Machinery "for research contributions to the areas of natural language processing and digital libraries as well as outstanding leadership in Computer Science." Furthermore, he also was a Fellow of the Association for the Advancement of Artificial Intelligence. He retired from faculty in 2007 and died on Friday, March 15, 2013, of a bacterial infection at the Alta Bates Summit Medical Center. Wilensky was married to Ann Danforth and he is survived by her and their two children, Avi and Eli Wilensky == Research == Throughout his career, Wilensky authored and co-authored over 60 scholarly articles and technical reports on AI, natural language processing, and information dissemination. In addition to his numerous technical publications, Wilensky also published two books on the programming language LISP, LISPcraft and Common LISPcraft, and had almost completed another book manuscript when he suffered a cardiac arrest and stopped writing. Among his publications are: R. Wilensky, (1986-09-17). Common LISPcraft. W. W. Norton & Company. ISBN 9780393955446. T. A. Phelps and R. Wilensky, "Toward active, extensible, networked documents: Multivalent architecture and applications," in Proc. 1st ACM Intl. Conf. on Digital Libraries, E. A. Fox and G. Marchionini, Eds., New York, NY: ACM Press, 1996, pp. 100–108. J. Traupman and R. Wilensky, "Experiments in Improving Unsupervised Word Sense Disambiguation," University of California, Berkeley, Department of EECS, Computer Science Division, Tech. Rep. 03–1227, Feb. 2003. R. Wilensky, Planning and Understanding: A Computational Approach to Human Reasoning, Advanced Book Program, Reading, MA: Addison-Wesley Publishing Co., 1983. R. Wilensky, "Understanding Goal-Based Stories," Yale University, Sep. 1978. B. Kahn and R. Wilensky, "A Framework for Distributed Digital Object Services", May 1995.

    Read more →
  • Additive smoothing

    Additive smoothing

    In statistics, additive smoothing, also called Laplace smoothing or Lidstone smoothing, is a technique used to smooth count data, eliminating issues caused by certain values having 0 occurrences. Given a set of observation counts x = ⟨ x 1 , x 2 , … , x d ⟩ {\displaystyle \mathbf {x} =\langle x_{1},x_{2},\ldots ,x_{d}\rangle } from a d {\displaystyle d} -dimensional multinomial distribution with N {\displaystyle N} trials, a "smoothed" version of the counts gives the estimator θ ^ i = x i + α N + α d ( i = 1 , … , d ) , {\displaystyle {\hat {\theta }}_{i}={\frac {x_{i}+\alpha }{N+\alpha d}}\qquad (i=1,\ldots ,d),} where the smoothed count x ^ i = N θ ^ i {\displaystyle {\hat {x}}_{i}=N{\hat {\theta }}_{i}} , and the "pseudocount" α > 0 is a smoothing parameter, with α = 0 corresponding to no smoothing (this parameter is explained in § Pseudocount below). Additive smoothing is a type of shrinkage estimator, as the resulting estimate will be between the empirical probability (relative frequency) x i / N {\displaystyle x_{i}/N} and the uniform probability 1 / d . {\displaystyle 1/d.} Common choices for α are 0 (no smoothing), +1⁄2 (the Jeffreys prior), or 1 (Laplace's rule of succession), but the parameter may also be set empirically based on the observed data. From a Bayesian point of view, this corresponds to the expected value of the posterior distribution, using a symmetric Dirichlet distribution with parameter α as a prior distribution. In the special case where the number of categories is 2, this is equivalent to using a beta distribution as the conjugate prior for the parameters of the binomial distribution. == History == Laplace came up with this smoothing technique when he tried to estimate the chance that the sun will rise tomorrow. His rationale was that even given a large sample of days with the rising sun, we still can not be completely sure that the sun will still rise tomorrow (known as the sunrise problem). == Pseudocount == A pseudocount is an amount (not generally an integer, despite its name) added to the number of observed cases in order to change the expected probability in a model of those data, when not known to be zero. It is so named because, roughly speaking, a pseudo-count of value α {\displaystyle \alpha } weighs into the posterior distribution similarly to each category having an additional count of α {\displaystyle \alpha } . If the number of occurrences of each item i {\displaystyle i} is x i {\displaystyle x_{i}} out of N {\displaystyle N} samples, the empirical probability of event i {\displaystyle i} is p i , empirical = x i N , {\displaystyle p_{i,{\text{empirical}}}={\frac {x_{i}}{N}},} but the posterior probability when additively smoothed is p i , α -smoothed = x i + α N + α d , {\displaystyle p_{i,\alpha {\text{-smoothed}}}={\frac {x_{i}+\alpha }{N+\alpha d}},} as if to increase each count x i {\displaystyle x_{i}} by α {\displaystyle \alpha } a priori. Depending on the prior knowledge, which is sometimes a subjective value, a pseudocount may have any non-negative finite value. It may only be zero (or the possibility ignored) if impossible by definition, such as the possibility of a decimal digit of π being a letter, or a physical possibility that would be rejected and so not counted, such as a computer printing a letter when a valid program for π is run, or excluded and not counted because of no interest, such as if only interested in the zeros and ones. Generally, there is also a possibility that no value may be computable or observable in a finite time (see the halting problem). But at least one possibility must have a non-zero pseudocount, otherwise no prediction could be computed before the first observation. The relative values of pseudocounts represent the relative prior expected probabilities of their possibilities. The sum of the pseudocounts, which may be very large, represents the estimated weight of the prior knowledge compared with all the actual observations (one for each) when determining the expected probability. In any observed data set or sample there is the possibility, especially with low-probability events and with small data sets, of a possible event not occurring. Its observed frequency is therefore zero, apparently implying a probability of zero. This oversimplification is inaccurate and often unhelpful, particularly in probability-based machine learning techniques such as artificial neural networks and hidden Markov models. By artificially adjusting the probability of rare (but not impossible) events so those probabilities are not exactly zero, zero-frequency problems are avoided. Also see Cromwell's rule. === Choice of pseudocount === ==== Weakly informative prior ==== One common approach is to add 1 to each observed number of events, including the zero-count possibilities. This is sometimes called Laplace's rule of succession. This approach is equivalent to assuming a uniform prior distribution over the probabilities for each possible event (spanning the simplex where each probability is between 0 and 1, and they all sum to 1). Using the Jeffreys prior approach, a pseudocount of one half should be added to each possible outcome. Pseudocounts should be set to one or one-half only when there is no prior knowledge at all – see the principle of indifference. However, given appropriate prior knowledge, the sum should be adjusted in proportion to the expectation that the prior probabilities should be considered correct, despite evidence to the contrary – see further analysis. Higher values are appropriate inasmuch as there is prior knowledge of the true values (for a mint-condition coin, say); lower values inasmuch as there is prior knowledge that there is probable bias, but of unknown degree (for a bent coin, say). ==== Frequentist interval ==== One way to motivate pseudocounts, particularly for binomial data, is via a formula for the midpoint of an interval estimate, particularly a binomial proportion confidence interval. The best-known is due to Edwin Bidwell Wilson, in Wilson (1927): the midpoint of the Wilson score interval corresponding to ⁠ z {\displaystyle z} ⁠ standard deviations on either side is n S + z n + 2 z {\displaystyle {\frac {n_{S}+z}{n+2z}}} Taking z = 2 {\displaystyle z=2} standard deviations to approximate a 95% confidence interval (⁠ z ≈ 1.96 {\displaystyle z\approx 1.96} ⁠) yields pseudocount of 2 for each outcome, so 4 in total, colloquially known as the "plus four rule": n S + 2 n + 4 {\displaystyle {\frac {n_{S}+2}{n+4}}} This is also the midpoint of the Agresti–Coull interval (Agresti & Coull 1998). ==== Known incidence rates ==== Often the bias of an unknown trial population is tested against a control population with known parameters (incidence rates) μ = ⟨ μ 1 , μ 2 , … , μ d ⟩ . {\displaystyle {\boldsymbol {\mu }}=\langle \mu _{1},\mu _{2},\ldots ,\mu _{d}\rangle .} In this case the uniform probability 1 / d {\displaystyle 1/d} should be replaced by the known incidence rate of the control population μ i {\displaystyle \mu _{i}} to calculate the smoothed estimator: θ ^ i = x i + μ i α d N + α d ( i = 1 , … , d ) . {\displaystyle {\hat {\theta }}_{i}={\frac {x_{i}+\mu _{i}\alpha d}{N+\alpha d}}\qquad (i=1,\ldots ,d).} As a consistency check, if the empirical estimator happens to equal the incidence rate, i.e. μ i = x i / N , {\displaystyle \mu _{i}=x_{i}/N,} the smoothed estimator is independent of α {\displaystyle \alpha } and also equals the incidence rate. == Applications == === Classification === Additive smoothing is commonly a component of naive Bayes classifiers. === Statistical language modelling === In a bag of words model of natural language processing and information retrieval, the data consists of the number of occurrences of each word in a document. Additive smoothing allows the assignment of non-zero probabilities to words which do not occur in the sample. Studies have shown that additive smoothing is more effective than other probability smoothing methods in several retrieval tasks such as language-model-based pseudo-relevance feedback and recommender systems.

    Read more →
  • Vasant Honavar

    Vasant Honavar

    Vasant G. Honavar is an Indian-American computer scientist, and artificial intelligence, machine learning, big data, data science, causal inference, knowledge representation, bioinformatics and health informatics researcher and professor. == Early life and education == Vasant Honavar was born at Pune, India to Bhavani G. and Gajanan N. Honavar. He received his early education at the Vidya Vardhaka Sangha High School and M.E.S. College in Bangalore, India. He received a B.E. in Electronics & Communications Engineering from the B.M.S. College of Engineering in Bangalore, India in 1982, when it was affiliated with Bangalore University, an M.S. in electrical and computer engineering in 1984 from Drexel University, and an M.S. in computer science in 1989, and a Ph.D. in 1990, respectively, from the University of Wisconsin–Madison, where he studied Artificial Intelligence and worked with Leonard Uhr. == Career == Honavar is on the faculty of Informatics and Intelligent Systems Department in the Penn State College of Information Sciences and Technology at Pennsylvania State University where he currently holds the Dorothy Foehr Huck and J. Lloyd Huck Chair in Biomedical Data Sciences and Artificial Intelligence and previously held the Edward Frymoyer Endowed Chair in Information Sciences and Technology. He serves on the faculties of the graduate programs in Computer Science, Informatics, Bioinformatics and Genomics, Neuroscience, Operations Research, Public Health Sciences, and of undergraduate programs in Data Science and Artificial Intelligence methods and applications. Honavar serves as the director of the Artificial Intelligence Research Laboratory, Director of Strategic Initiatives for the Institute for Computational and Data Sciences and the director of the Center for Artificial Intelligence Foundations and Scientific Applications at Pennsylvania State University. Honavar served on the Leadership Team of the Northeast Big Data Innovation Hub. Honavar served on the Computing Research Association's Computing Community Consortium Council during 2014-2017, where he chaired the task force on Convergence of Data and Computing, and was a member of the task force on Artificial Intelligence. Honavar was the first Sudha Murty Distinguished Visiting Chair of Neurocomputing and Data Science by the Indian Institute of Science, Bangalore, India. Honavar was named a Distinguished Member of the Association for Computing Machinery for "outstanding scientific contributions to computing"; and elected a Fellow of the American Association for the Advancement of Science for his "distinguished research contributions and leadership in data science". As a Program Director in the Information Integration and Informatics program in the Information and Intelligent Systems Division of the Computer and Information Science and Engineering Directorate of the US National Science Foundation during 2010-13, Honavar led the Big Data Program. Honavar was a professor of computer science at Iowa State University where he led the Artificial Intelligence Research Laboratory which he founded in 1990 and was instrumental in establishing an interdepartmental graduate program in Bioinformatics and Computational Biology (and served as its Chair during 2003–2005). Honavar has held visiting professorships at Carnegie Mellon University, the University of Wisconsin–Madison, and at the Indian Institute of Science. == Research == Honavar's research has contributed to advances in artificial intelligence, machine learning, causal inference, knowledge representation, neural networks, semantic web, big data analytics, and bioinformatics and computational biology. He was a program chair of the Association for the Advancement of Artificial Intelligence(AAAI)'s 36th Conference on Artificial Intelligence. He has published over 300 research articles, including many highly cited ones, as well as several books on these topics. His recent work has focused on federated machine learning algorithms for constructing predictive models from distributed data and linked open data, learning predictive models from high dimensional longitudinal data, reasoning with federated knowledge bases, detecting algorithmic bias, big data analytics, analysis and prediction of protein-protein, protein-RNA, and protein-DNA interfaces and interactions, social network analytics, health informatics, secrecy-preserving query answering, representing and reasoning about preferences, and causal inference from complex, e.g., relational, data, large language models, diffusion models, and meta analysis. Honavar has been active in fostering national and international scientific collaborations in Artificial Intelligence, Data Sciences, and their applications in addressing national, international, and societal priorities in accelerating science, improving health, transforming agriculture through partnerships that bring together academia, non-profits, and industry. He is also active in making the science policy case for major national research initiatives such as AI for accelerating science and AI for combating the epidemic of diseases of despair. == Honors == National Science Foundation Director's Award for Superior Accomplishment, 2013 National Science Foundation Director's Award for Collaborative Integration, 2012 Margaret Ellen White Graduate Faculty Award, Iowa State University, 2011 Outstanding Career Achievement in Research Award, College of Liberal Arts and Sciences, Iowa State University, 2008 Regents Award for Faculty Excellence, Iowa Board of Regents, 2007 Edward Frymoyer Endowed Chair in Information Sciences and Technology, Penn State College of Information Sciences and Technology, Pennsylvania State University, 2013 Senior Faculty Research Excellence Award, Penn State College of Information Sciences and Technology, Pennsylvania State University, 2016 125 People of Impact, Department of Electrical and Computer Engineering, University of Wisconsin-Madison, 2016 Sudha Murty Distinguished (Visiting) Chair of Neurocomputing and Data Science, Indian Institute of Science, 2016-2021 ACM Distinguished Member, 2018 AAAS Fellow American Association for the Advancement of Science, 2018 EAI Fellow European Alliance for Innovation, 2019 Dorothy Foehr Huck and J. Lloyd Huck Chair in Biomedical Data Sciences and Artificial Intelligence, Pennsylvania State University, 2021

    Read more →
  • Inferential theory of learning

    Inferential theory of learning

    Inferential Theory of Learning (ITL) is an area of machine learning which describes inferential processes performed by learning agents. ITL has been continuously developed by Ryszard S. Michalski, starting in the 1980s. The first known publication of ITL was in 1983. In the ITL learning process is viewed as a search (inference) through hypotheses space guided by a specific goal. The results of learning need to be stored. Stored information will later be used by the learner for future inferences. Inferences are split into multiple categories including conclusive, deduction, and induction. In order for an inference to be considered complete it was required that all categories must be taken into account. This is how the ITL varies from other machine learning theories like Computational Learning Theory and Statistical Learning Theory; which both use singular forms of inference. == Usage == The most relevant published usage of ITL was in scientific journal published in 2012 and used ITL as a way to describe how agent-based learning works. According to the journal "The Inferential Theory of Learning (ITL) provides an elegant way of describing learning processes by agents".

    Read more →
  • Best AI Code Generators in 2026

    Best AI Code Generators in 2026

    Comparing the best AI code generator? An AI code generator is software that uses machine learning to help you get more done — it lowers the barrier so anyone can produce professional output. Privacy matters too: check whether your data trains the model and whether a no-log or enterprise tier is available. Whether you are a beginner or a pro, the right AI code generator slots into your workflow and pays for itself fast. We tested the leading options and ranked them by quality, value, and ease of use.

    Read more →
  • Lex (software)

    Lex (software)

    Lex is a computer program that generates lexical analyzers ("scanners" or "lexers"). It is commonly used with the yacc parser generator and is the standard lexical analyzer generator on many Unix and Unix-like systems. An equivalent tool is specified as part of the POSIX standard. Lex reads an input stream specifying the lexical analyzer and writes source code which implements the lexical analyzer in the C programming language. In addition to C, some old versions of Lex could generate a lexer in Ratfor. == History == Lex was originally written by Mike Lesk and Eric Schmidt and described in 1975. In the following years, Lex became the standard lexical analyzer generator on many Unix and Unix-like systems. In 1983, Lex was one of several UNIX tools available for Charles River Data Systems' UNOS operating system under the Bell Laboratories license. Although originally distributed as proprietary software, some versions of Lex are now open-source. Open-source versions of Lex, based on the original proprietary code, are now distributed with open-source operating systems such as OpenSolaris and Plan 9 from Bell Labs. One popular open-source version of Lex, called flex, or the "fast lexical analyzer", is not derived from proprietary coding. == Structure of a Lex file == The structure of a Lex file is intentionally similar to that of a yacc file: files are divided into three sections, separated by lines that contain only two percent signs, as follows: The definitions section defines macros and imports header files written in C. It is also possible to write any C code here, which will be copied verbatim into the generated source file. The rules section associates regular expression patterns with C statements. When the lexer sees text in the input matching a given pattern, it will execute the associated C code. The C code section contains C statements and functions that are copied verbatim to the generated source file. These statements presumably contain code called by the rules in the rules section. In large programs it is more convenient to place this code in a separate file linked in at compile time. == Example of a Lex file == The following is an example Lex file for the flex version of Lex. It recognizes strings of numbers (positive integers) in the input, and simply prints them out. If this input is given to flex, it will be converted into a C file, lex.yy.c. This can be compiled into an executable which matches and outputs strings of integers. For example, given the input: abc123z.!&2gj6 the program will print: Saw an integer: 123 Saw an integer: 2 Saw an integer: 6 == Using Lex with other programming tools == === Using Lex with parser generators === Lex, as with other lexical analyzers, limits rules to those which can be described by regular expressions. Due to this, Lex can be implemented by a finite-state automata as shown by the Chomsky hierarchy of languages. To recognize more complex languages, Lex is often used with parser generators such as Yacc or Bison. Parser generators use a formal grammar to parse an input stream. It is typically preferable to have a parser, one generated by Yacc for instance, accept a stream of tokens (a "token-stream") as input, rather than having to process a stream of characters (a "character-stream") directly. Lex is often used to produce such a token-stream. Scannerless parsing refers to parsing the input character-stream directly, without a distinct lexer. === Lex and make === make is a utility that can be used to maintain programs involving Lex. Make assumes that a file that has an extension of .l is a Lex source file. The make internal macro LFLAGS can be used to specify Lex options to be invoked automatically by make.

    Read more →