Model Context Protocol

Model Context Protocol

The Model Context Protocol (MCP) is an open standard and open-source framework introduced by Anthropic in November 2024 to standardize the way artificial intelligence (AI) systems like large language models (LLMs) integrate and share data with external tools, systems, and data sources. MCP provides a standardized interface for reading files, executing functions, and handling contextual prompts. Following its announcement, the protocol was adopted by major AI providers, including OpenAI and Google DeepMind. == Background == MCP was announced by Anthropic in November 2024 as an open standard for connecting AI assistants to data systems such as content repositories, business management tools, and development environments. The protocol was created at Anthropic by engineers David Soria Parra and Justin Spahr-Summers. It aims to address the challenge of information silos and legacy systems. Before MCP, developers often had to build custom connectors for each data source or tool, resulting in what Anthropic described as an "N×M" data integration problem. Earlier stop-gap approaches—such as OpenAI's 2023 "function-calling" API and the ChatGPT plug-in framework—solved similar problems but required vendor-specific connectors. MCP re-uses the message-flow ideas of the Language Server Protocol (LSP) and is transported over JSON-RPC 2.0. In December 2025, Anthropic donated the MCP to the Agentic AI Foundation (AAIF), a directed fund under the Linux Foundation, co-founded by Anthropic, Block and OpenAI, with support from other companies. == Features == The protocol was released with software development kits (SDKs) in programming languages including Python, TypeScript, C# and Java. Anthropic maintains an open-source repository of reference MCP server implementations and SDKs. MCP defines a standardized framework for integrating AI systems with external data sources and tools. It includes specifications for data ingestion and transformation, contextual metadata tagging, and AI interoperability across different platforms. The protocol also supports bidirectional connections between data sources and AI tools. MCP enables applications such as querying structured databases with plain language in the field of natural language data access. The protocol is used in AI-assisted software development tools. Integrated development environments (IDEs), coding platforms such as Replit, and code intelligence tools like Sourcegraph have adopted MCP to grant AI coding assistants real-time access to project context. MCP Apps is an official extension to the Model Context Protocol built on mcp-ui. While the base MCP specification is restricted to text and structured data, MCP Apps standardizes the delivery of interactive user interfaces—such as dashboards, forms, and data visualizations—from MCP servers to host applications like Claude and ChatGPT. == Adoption == In March 2025, OpenAI officially adopted the MCP, after having integrated the standard across its products, including the ChatGPT desktop app. In September 2025, OpenAI added support for MCP to ChatGPT apps. This allows for third-party access inside ChatGPT. MCP can be integrated with Microsoft Semantic Kernel, and Azure OpenAI. MCP servers can be deployed to Cloudflare. In April 2026, the AAIF held the MCP Dev Summit North America in New York City, drawing approximately 1,200 attendees. == Reception == The Verge reported that MCP addresses a growing demand for AI agents that are contextually aware and capable of pulling from diverse sources. In April 2025, security researchers released an analysis that concluded there are multiple outstanding security issues with MCP, including prompt injection, tool permissions that allow for combining tools to exfiltrate data, and lookalike tools that can silently replace trusted ones. MCP has been likened to OpenAPI, a similar specification that aims to describe APIs.

Headway (app)

Headway, also known as the Headway App, is an educational technology (EdTech) product that provides short text and audio summaries of nonfiction books. The product was launched in 2019 by Anton Pavlovsky and is developed by Headway Inc, a global consumer tech company that operates in the lifelong learning space. == History == The Headway app was launched in January 2019, with the first version of the application released the same year. In 2021, Headway ranked first globally in downloads within the book summary application niche. In 2022, the application received the Golden Novum Design Award for product design. In 2023 and 2024, Headway appeared in several App Store editorial selections, including App of the Day in multiple countries, and received an Editors’ Choice label in the United States. In April 2025, the application was listed as a Webby Honoree in the Learning & Education category. The company has also launched the Headway Scholarship for Book Lovers. As of 2025, publicly available reporting notes that the Headway app has surpassed 50 million downloads and is among the Top 10 iOS applications by revenue in the Education category worldwide. == Products and features == The Headway app provides short-form summaries of nonfiction books in both text and audio formats. Content is produced by an in-house team of writers, editors, and voice actors. Features include highlighting and saving key insights, spaced repetition for knowledge retention, and offline access to downloaded summaries. The app is available on iOS, iPadOS, watchOS, Android, CarPlay, and Android Auto, and supports multiple languages. == Pricing == Headway operates on a subscription business model, with optional paid plans alongside free access. The company publicly provides its terms of use, privacy policy, subscription details, and AI usage policy on its official website. == Technology and integrations == Headway reports that its book summaries are written and edited manually, while artificial intelligence tools are used in limited supporting functions, such as experimental conversational features and selected marketing processes. == Adoption == According to figures released by the company, the app has exceeded 50 million downloads worldwide. Sensor Tower data indicates that Headway has been the most downloaded application in its niche since October 2020. In January 2025, the app claimed the #1 position in the Education category in both the United States and United Kingdom App Stores and remained among the Top 10 iOS applications globally by revenue within the Education category. == Awards == The Headway app has received several product-level distinctions. In 2023 and 2024, it appeared in multiple App Store editorial selections, including App of the Day features and an Editors’ Choice label in the United States. In 2025, the app was recognized as a Webby Honoree in the Learning & Education category. The product has also been featured in independent media roundups of notable educational applications.

Semiautomaton

In mathematics and theoretical computer science, a semiautomaton is a deterministic finite automaton having inputs but no output. It consists of a set Q of states, a set Σ called the input alphabet, and a function T: Q × Σ → Q called the transition function. Associated with any semiautomaton is a monoid called the characteristic monoid, input monoid, transition monoid or transition system of the semiautomaton, which acts on the set of states Q. This may be viewed either as an action of the free monoid of strings in the input alphabet Σ, or as the induced transformation semigroup of Q. In older books like Clifford and Preston (1967) semigroup actions are called "operands". In category theory, semiautomata essentially are functors. == Transformation semigroups and monoid acts == A transformation semigroup or transformation monoid is a pair ( M , Q ) {\displaystyle (M,Q)} consisting of a set Q (often called the "set of states") and a semigroup or monoid M of functions, or "transformations", mapping Q to itself. They are functions in the sense that every element m of M is a map m : Q → Q {\displaystyle m\colon Q\to Q} . If s and t are two functions of the transformation semigroup, their semigroup product is defined as their function composition ( s t ) ( q ) = ( s ∘ t ) ( q ) = s ( t ( q ) ) {\displaystyle (st)(q)=(s\circ t)(q)=s(t(q))} . Some authors regard "semigroup" and "monoid" as synonyms. Here a semigroup need not have an identity element; a monoid is a semigroup with an identity element (also called "unit"). Since the notion of functions acting on a set always includes the notion of an identity function, which when applied to the set does nothing, a transformation semigroup can be made into a monoid by adding the identity function. === M-acts === Let M be a monoid and Q be a non-empty set. If there exists a multiplicative operation μ : Q × M → Q {\displaystyle \mu \colon Q\times M\to Q} ( q , m ) ↦ q m = μ ( q , m ) {\displaystyle (q,m)\mapsto qm=\mu (q,m)} which satisfies the properties q 1 = q {\displaystyle q1=q} for 1 the unit of the monoid, and q ( s t ) = ( q s ) t {\displaystyle q(st)=(qs)t} for all q ∈ Q {\displaystyle q\in Q} and s , t ∈ M {\displaystyle s,t\in M} , then the triple ( Q , M , μ ) {\displaystyle (Q,M,\mu )} is called a right M-act or simply a right act. In long-hand, μ {\displaystyle \mu } is the right multiplication of elements of Q by elements of M. The right act is often written as Q M {\displaystyle Q_{M}} . A left act is defined similarly, with μ : M × Q → Q {\displaystyle \mu \colon M\times Q\to Q} ( m , q ) ↦ m q = μ ( m , q ) {\displaystyle (m,q)\mapsto mq=\mu (m,q)} and is often denoted as M Q {\displaystyle \,_{M}Q} . An M-act is closely related to a transformation monoid. However the elements of M need not be functions per se, they are just elements of some monoid. Therefore, one must demand that the action of μ {\displaystyle \mu } be consistent with multiplication in the monoid (i.e. μ ( q , s t ) = μ ( μ ( q , s ) , t ) {\displaystyle \mu (q,st)=\mu (\mu (q,s),t)} ), as, in general, this might not hold for some arbitrary μ {\displaystyle \mu } , in the way that it does for function composition. Once one makes this demand, it is completely safe to drop all parenthesis, as the monoid product and the action of the monoid on the set are completely associative. In particular, this allows elements of the monoid to be represented as strings of letters, in the computer-science sense of the word "string". This abstraction then allows one to talk about string operations in general, and eventually leads to the concept of formal languages as being composed of strings of letters. Another difference between an M-act and a transformation monoid is that for an M-act Q, two distinct elements of the monoid may determine the same transformation of Q. If we demand that this does not happen, then an M-act is essentially the same as a transformation monoid. === M-homomorphism === For two M-acts Q M {\displaystyle Q_{M}} and B M {\displaystyle B_{M}} sharing the same monoid M {\displaystyle M} , an M-homomorphism f : Q M → B M {\displaystyle f\colon Q_{M}\to B_{M}} is a map f : Q → B {\displaystyle f\colon Q\to B} such that f ( q m ) = f ( q ) m {\displaystyle f(qm)=f(q)m} for all q ∈ Q M {\displaystyle q\in Q_{M}} and m ∈ M {\displaystyle m\in M} . The set of all M-homomorphisms is commonly written as H o m ( Q M , B M ) {\displaystyle \mathrm {Hom} (Q_{M},B_{M})} or H o m M ( Q , B ) {\displaystyle \mathrm {Hom} _{M}(Q,B)} . The M-acts and M-homomorphisms together form a category called M-Act. == Semiautomata == A semiautomaton is a triple ( Q , Σ , T ) {\displaystyle (Q,\Sigma ,T)} where Σ {\displaystyle \Sigma } is a non-empty set, called the input alphabet, Q is a non-empty set, called the set of states, and T is the transition function T : Q × Σ → Q . {\displaystyle T\colon Q\times \Sigma \to Q.} When the set of states Q is a finite set—it need not be—, a semiautomaton may be thought of as a deterministic finite automaton ( Q , Σ , T , q 0 , A ) {\displaystyle (Q,\Sigma ,T,q_{0},A)} , but without the initial state q 0 {\displaystyle q_{0}} or set of accept states A. Alternately, it is a finite-state machine that has no output, and only an input. Any semiautomaton induces an act of a monoid in the following way. Let Σ ∗ {\displaystyle \Sigma ^{}} be the free monoid generated by the alphabet Σ {\displaystyle \Sigma } (so that the superscript is understood to be the Kleene star); it is the set of all finite-length strings composed of the letters in Σ {\displaystyle \Sigma } . For every word w in Σ ∗ {\displaystyle \Sigma ^{}} , let T w : Q → Q {\displaystyle T_{w}\colon Q\to Q} be the function, defined recursively, as follows, for all q in Q: If w = ε {\displaystyle w=\varepsilon } , then T ε ( q ) = q {\displaystyle T_{\varepsilon }(q)=q} , so that the empty word ε {\displaystyle \varepsilon } does not change the state. If w = σ {\displaystyle w=\sigma } is a letter in Σ {\displaystyle \Sigma } , then T σ ( q ) = T ( q , σ ) {\displaystyle T_{\sigma }(q)=T(q,\sigma )} . If w = σ v {\displaystyle w=\sigma v} for σ ∈ Σ {\displaystyle \sigma \in \Sigma } and v ∈ Σ ∗ {\displaystyle v\in \Sigma ^{}} , then T w ( q ) = T v ( T σ ( q ) ) {\displaystyle T_{w}(q)=T_{v}(T_{\sigma }(q))} . Let M ( Q , Σ , T ) {\displaystyle M(Q,\Sigma ,T)} be the set M ( Q , Σ , T ) = { T w | w ∈ Σ ∗ } . {\displaystyle M(Q,\Sigma ,T)=\{T_{w}\vert w\in \Sigma ^{}\}.} The set M ( Q , Σ , T ) {\displaystyle M(Q,\Sigma ,T)} is closed under function composition; that is, for all v , w ∈ Σ ∗ {\displaystyle v,w\in \Sigma ^{}} , one has T w ∘ T v = T v w {\displaystyle T_{w}\circ T_{v}=T_{vw}} . It also contains T ε {\displaystyle T_{\varepsilon }} , which is the identity function on Q. Since function composition is associative, the set M ( Q , Σ , T ) {\displaystyle M(Q,\Sigma ,T)} is a monoid: it is called the input monoid, characteristic monoid, characteristic semigroup or transition monoid of the semiautomaton ( Q , Σ , T ) {\displaystyle (Q,\Sigma ,T)} . == Properties == If the set of states Q is finite, then the transition functions are commonly represented as state transition tables. The structure of all possible transitions driven by strings in the free monoid has a graphical depiction as a de Bruijn graph. The set of states Q need not be finite, or even countable. As an example, semiautomata underpin the concept of quantum finite automata. There, the set of states Q are given by the complex projective space C P n {\displaystyle \mathbb {C} P^{n}} , and individual states are referred to as n-state qubits. State transitions are given by unitary n×n matrices. The input alphabet Σ {\displaystyle \Sigma } remains finite, and other typical concerns of automata theory remain in play. Thus, the quantum semiautomaton may be simply defined as the triple ( C P n , Σ , { U σ 1 , U σ 2 , … , U σ p } ) {\displaystyle (\mathbb {C} P^{n},\Sigma ,\{U_{\sigma _{1}},U_{\sigma _{2}},\dotsc ,U_{\sigma _{p}}\})} when the alphabet Σ {\displaystyle \Sigma } has p letters, so that there is one unitary matrix U σ {\displaystyle U_{\sigma }} for each letter σ ∈ Σ {\displaystyle \sigma \in \Sigma } . Stated in this way, the quantum semiautomaton has many geometrical generalizations. Thus, for example, one may take a Riemannian symmetric space in place of C P n {\displaystyle \mathbb {C} P^{n}} , and selections from its group of isometries as transition functions. The syntactic monoid of a regular language is isomorphic to the transition monoid of the minimal automaton accepting the language. == Literature == A. H. Clifford and G. B. Preston, The Algebraic Theory of Semigroups. American Mathematical Society, volume 2 (1967), ISBN 978-0-8218-0272-4. F. Gecseg and I. Peak, Algebraic Theory of Automata (1972), Akademiai Kiado, Budapest. W. M. L. Holcombe, Algebraic Automata Theory (1982), Cambridge University Press J. M. Howie, Automata and Languages, (1991), Cla

Mona Diab

Mona Talat Diab (Arabic: منى طلعت دياب) is a computer science professor and director of Carnegie Mellon University's Language Technologies Institute. Previously, she was a professor at George Washington University and a research scientist with Facebook AI. Her research focuses on natural language processing, computational linguistics, cross lingual/multilingual processing, computational socio-pragmatics, Arabic language processing, and applied machine learning. == Education == Diab completed her M.Sc. in computer science with a major in machine learning and artificial intelligence at The George Washington University (1997) and her Ph.D. in computational linguistics at the University of Maryland, Linguistics Department and University of Maryland Institute for Advanced Computer Studies (UMIACS) in 2003, under the supervision of Philip Resnik. She was also a postdoctoral research scientist at Stanford University (2003–2005) under the mentorship of Dan Jurafsky, where she was a part of the Stanford NLP Group. == Career == After her postdoc at Stanford, Diab took a position as research scientist (principal investigator) at the Center for Computational Learning Systems (CCLS) in Columbia University, where she was also adjunct professor in the computer science department. In 2013 she joined the George Washington University as an associate professor, where she was promoted to full professor in 2017. Diab is the founder and director of the GW NLP lab CARE4Lang. Diab served as an elected faculty senator at Columbia University for 6 years (2007–2012) and an elected faculty senator at GW (2013–2014). She served the computational linguistics community as elected member, secretary and president of ACL SIGLEX (2005–2016) and elected president of ACL SIGSemitic. She currently serves as the elected VP-elect for ACL SIGDAT. In 2017 Diab joined Amazon AWS AI Deep Learning Group for Human Language Technologies, where she led the AWS Lex project for task oriented dialogue systems for enterprises. A couple of years later, she moved to Facebook AI as a research scientist. In the fall of 2023, she became the director of CMU's Language Technologies Institute -- the first full time director since the passing of its founder Jaime Carbonell. == Research == Diab's research interests include several areas in computational linguistics/natural language processing, like conversational AI, computational lexical semantics, multilingual and cross lingual processing, social media processing with an emphasis on computational socio- pragmatics, information extraction & text analytics, machine translation. Besides this, she also has special interests in Arabic NLP and low resource scenarios. Diab co-established two research trends in the computational linguistics field, computational approaches to linguistic code switching in 2007 and semantic textual similarity in 2010. Diab together with Nizar Habash and Owen Rambow, co-founded CADIM in 2005, a global reference point in Arabic dialect processing. In 2012, Diab together with Eneko Agirre and Johan Bos, brought together two ACL communities SIGLEX and SIGSEM and established the 1st tier conference SEM. == Awards and recognition == Selected as one of top 150 leaders and visionaries in AI nationwide to participate in White House AI Summit in Government, Washington, D.C., US, September 2019 March 2017: 3 Muslim Women in STEM You Should Know About, Teen Vogue, March 2017 May 2017: Behind Every Strong Woman Is...Another Strong Woman: Ten women give thanks to the women who supported them on the way up. Elle, May 2017. Google Faculty Research Award – Tharwa++: Building a multidialectal Arabic Lexical Repository, (PI), 09.2015 –12.2016. Google Faculty Research Award – Nuanced Sentiment and Perspective Analysis for Arabic Social Media Text, (PI), 12.2014 –12.2015 QNRF Best Poster Award – Ossama Obeid, Houda Bouamor, Wajdi Zaghouani, Mahmoud Ghoneim, Abdelati Hawwari, Mona Diab, Kemal Oflazer. (2016) MANDIAC: A Web-based Annotation System For Manual Arabic Diacritization. Proceedings of the 2nd Workshop on Arabic Corpora and Processing Tools, LREC 2016. Best Paper Award – Aminian, Maryam, Mahmoud Ghoneim, Mona Diab. (2015) Unsupervised False Friend Disambiguation Using Contextual Word Clusters and Parallel Word Alignments. In Proceedings of Workshop 9th Semantics Syntax Statistical Translation, NAACL 2015, Denver CO, US. == Publications == Diab has over 250 publications, and she is an acting editor for several scientific journals. === Selected publications === Semeval-2012 task 6: A pilot on semantic textual similarity. E. Agirre, D. Cer, M. Diab, A. Gonzalez-Agirre. SEM 2012: The First Joint Conference on Lexical and Computational Semantics–Volume 1: Proceedings of the main conference and the shared task, and Volume 2: Proceedings of the Sixth International Workshop on Semantic Evaluation (SemEval 2012) Predictive linguistic features of schizophrenia. ES Kayi, M Diab, L Pauselli, M Compton, G Coppersmith. arXiv preprint arXiv:1810.09377 Ideological perspective detection using semantic features. H Elfardy, M Diab, C Callison-Burch – Proceedings of SEM 2015 DeSePtion: Dual sequence prediction and adversarial examples for improved fact-checking. Christopher Hidey, Tuhin Chakrabarty, Tariq Alhindi, Siddharth Varia, Kriste Krstovski, Mona Diab, Smaranda Muresan, 2020 Does Causal Coherence Predict Online Spread of Social Media? Pedram Hosseini, Mona Diab, David A Broniatowski. Proceedings of International Conference on Social Computing, Behavioral-Cultural Modeling and Prediction and Behavior Representation in Modeling and Simulation, 2019. Diversity, Density, and Homogeneity: Quantitative Characteristic Metrics for Text Collections. YA Lai, X Zhu, Y Zhang, M Diab, arXiv preprint arXiv:2003.08529, 2020 Readability of written medicine information materials in Arabic language: expert and consumer evaluation. S Al Aqeel, N Abanmy, A Aldayel, H Al-Khalifa, M Al-Yahya, M Diab. BMC health services research 18 (1), 1–7, 2019 Unsupervised word mapping using structural similarities in monolingual embeddings. H Aldarmaki, M Mohan, M Diab – Transactions of the Association for Computational Linguistics, 2018 An unsupervised method for word sense tagging using parallel corpora M Diab, P Resnik. Proceedings of ACL 2002 Overview for the first shared task on language identification in code-switched data. Thamar Solorio, Elizabeth Blair, Suraj Maharjan, Steven Bethard, Mona Diab, Mahmoud Ghoneim, Abdelati Hawwari, Fahad AlGhamdi, Julia Hirschberg, Alison Chang, Pascale Fung. Proceedings of the First Workshop on Computational Approaches to Code Switching, 2014 Modeling sentences in the latent space. W Guo, M Diab – ACL 20 12 Task-based evaluation of multiword expressions: a pilot study in statistical machine translation. M Carpuat, M Diab – NAACL-HLT 2010 Rumor detection and classification for twitter data. S Hamidian, MT Diab – arXiv preprint arXiv:1912.08926, 2019 Subgroup detection in ideological discussions. A Abu-Jbara, P Dasigi, M Diab, D Radev – ACL 2012 Madamira: A fast, comprehensive tool for morphological analysis and disambiguation of arabic. A. Pasha, M. Al-Badrashiny, M. Diab, A. El Kholy, R. Eskander, N. Habash, M. Pooleery, O. Rambow, R. Roth. LREC 14, 1094–1101. 2014 Context-Aware Self-Attentive Natural Language Understanding for Task-Oriented Chatbots. A. Gupta, P. Zhang, G. Lalwani, M. Diab. EMNLP 2019 A multitask learning approach for diacritic restoration. S. Alqahtani, A. Mishra, M. Diab. ACL 2020

AI Code-review Tools: Free vs Paid (2026)

Comparing the best AI code-review tool? An AI code-review tool 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-review tool slots into your workflow and pays for itself fast. We tested the leading options and ranked them by quality, value, and ease of use.

Kolmogorov–Arnold Networks

Kolmogorov–Arnold Networks (KANs) are a type of artificial neural network architecture inspired by the Kolmogorov–Arnold representation theorem, also known as the superposition theorem. Unlike traditional multilayer perceptrons (MLPs), which rely on fixed activation functions and linear weights, KANs replace each weight with a learnable univariate function, often represented using splines. == History == KANs (Kolmogorov–Arnold Networks) were proposed by Liu et al. (2024) as a generalization of the Kolmogorov–Arnold representation theorem (KART), aiming to outperform MLPs in small-scale AI and scientific tasks. Before KANs, numerous studies explored KART's connections to neural networks or used it as a basis for designing new network architectures. In the 1980s and 1990s, early research applied KART to neural network design. Kůrková et al. (1992), Hecht-Nielsen (1987), and Nees (1994) established theoretical foundations for multilayer networks based on KART. Igelnik et al. (2003) introduced the Kolmogorov Spline Network using cubic splines to model complex functions. Sprecher (1996, 1997) introduced numerical methods for building network layers, while Nakamura et al. (1993) created activation functions with guaranteed approximation accuracy. These works linked KART's theoretical potential with practical neural network implementation. KART has also been used in other computational and theoretical fields. Coppejans (2004) developed nonparametric regression estimators using B-splines, Bryant (2008) applied it to high-dimensional image tasks, Liu (2015) investigated theoretical applications in optimal transport and image encryption, and more recently, Polar and Poluektov (2021) used Urysohn operators for efficient KART construction, while Fakhoury et al. (2022) introduced ExSpliNet, integrating KART with probabilistic trees and multivariate B-splines for improved function approximation. == Architecture == KANs are based on the Kolmogorov–Arnold representation theorem, which was linked to the 13th Hilbert problem. Given x = ( x 1 , x 2 , … , x n ) {\displaystyle x=(x_{1},x_{2},\dots ,x_{n})} consisting of n variables, a multivariate continuous function f ( x ) {\displaystyle f(x)} can be represented as: f ( x ) = f ( x 1 , … , x n ) = ∑ q = 1 2 n + 1 Φ q ( ∑ p = 1 n φ q , p ( x p ) ) {\displaystyle f(x)=f(x_{1},\dots ,x_{n})=\sum _{q=1}^{2n+1}\Phi _{q}\left(\sum _{p=1}^{n}\varphi _{q,p}(x_{p})\right)} (1) This formulation contains two nested summations: an outer and an inner sum. The outer sum ∑ q = 1 2 n + 1 {\displaystyle \sum _{q=1}^{2n+1}} aggregates 2 n + 1 {\displaystyle 2n+1} terms, each involving a function Φ q : R → R {\displaystyle \Phi _{q}:\mathbb {R} \to \mathbb {R} } . The inner sum ∑ p = 1 n {\displaystyle \sum _{p=1}^{n}} computes n terms for each q, where each term φ q , p : [ 0 , 1 ] → R {\displaystyle \varphi _{q,p}:[0,1]\to \mathbb {R} } is a continuous function of the single variable x p {\displaystyle x_{p}} . The inner continuous functions φ q , p {\displaystyle \varphi _{q,p}} are universal, independent of f {\displaystyle f} , while the outer functions Φ q {\displaystyle \Phi _{q}} depend on the specific function f {\displaystyle f} being represented. The representation (1) holds for all multivariate functions f {\displaystyle f} as proved in . If f {\displaystyle f} is continuous, then the outer functions Φ q {\displaystyle \Phi _{q}} are continuous; if f {\displaystyle f} is discontinuous, then the corresponding Φ q {\displaystyle \Phi _{q}} are generally discontinuous, while the inner functions φ q , p {\displaystyle \varphi _{q,p}} remain the same universal functions. Liu et al. proposed the name KAN. A general KAN network consisting of L layers takes x to generate the output as: K A N ( x ) = ( Φ L − 1 ∘ Φ L − 2 ∘ ⋯ ∘ Φ 1 ∘ Φ 0 ) x {\displaystyle \mathrm {KAN} (x)=(\Phi ^{L-1}\circ \Phi ^{L-2}\circ \cdots \circ \Phi ^{1}\circ \Phi ^{0})x} (3) Here, Φ l {\displaystyle \Phi ^{l}} is the function matrix of the l-th KAN layer or a set of pre-activations. Let i denote the neuron of the l-th layer and j the neuron of the (l+1)-th layer. The activation function φ j , i l {\displaystyle \varphi _{j,i}^{l}} connects (l, i) to (l+1, j): φ j , i l , l = 0 , … , L − 1 , i = 1 , … , n l , j = 1 , … , n l + 1 {\displaystyle \varphi _{j,i}^{l},\quad l=0,\dots ,L-1,\;i=1,\dots ,n_{l},\;j=1,\dots ,n_{l+1}} (4) where nl is the number of nodes of the l-th layer. Thus, the function matrix Φ l {\displaystyle \Phi ^{l}} can be represented as an n l + 1 × n l {\displaystyle n_{l+1}\times n_{l}} matrix of activations: x l + 1 = ( φ 1 , 1 l ( ⋅ ) φ 1 , 2 l ( ⋅ ) ⋯ φ 1 , n l l ( ⋅ ) φ 2 , 1 l ( ⋅ ) φ 2 , 2 l ( ⋅ ) ⋯ φ 2 , n l l ( ⋅ ) ⋮ ⋮ ⋱ ⋮ φ n l + 1 , 1 l ( ⋅ ) φ n l + 1 , 2 l ( ⋅ ) ⋯ φ n l + 1 , n l l ( ⋅ ) ) x l {\displaystyle x^{l+1}={\begin{pmatrix}\varphi _{1,1}^{l}(\cdot )&\varphi _{1,2}^{l}(\cdot )&\cdots &\varphi _{1,n_{l}}^{l}(\cdot )\\\varphi _{2,1}^{l}(\cdot )&\varphi _{2,2}^{l}(\cdot )&\cdots &\varphi _{2,n_{l}}^{l}(\cdot )\\\vdots &\vdots &\ddots &\vdots \\\varphi _{n_{l+1},1}^{l}(\cdot )&\varphi _{n_{l+1},2}^{l}(\cdot )&\cdots &\varphi _{n_{l+1},n_{l}}^{l}(\cdot )\end{pmatrix}}x^{l}} == Implementations == To make the KAN layers optimizable, the inner function is formed by the combination of spline and basic functions as the formula: φ ( x ) = w b b ( x ) + w s spline ( x ) {\displaystyle \varphi (x)=w_{b}\,b(x)+w_{s}\,{\text{spline}}(x)} where b ( x ) {\displaystyle b(x)} is the basic function, usually defined as s i l u ( x ) = x / ( 1 + e x ) {\displaystyle silu(x)=x/(1+e^{x})} and w b {\displaystyle w_{b}} is the base weight matrix. Also, w s {\displaystyle w_{s}} is the spline weight matrix and spline ( x ) {\displaystyle {\text{spline}}(x)} is the spline function. The spline function can be a sum of B-splines. spline ( x ) = ∑ i c i B i ( x ) {\displaystyle {\text{spline}}(x)=\sum _{i}c_{i}B_{i}(x)} Many studies suggested to use other polynomial and curve functions instead of B-spline to create new KAN variants. == Functions used == The choice of functional basis strongly influences the performance of KANs. Common function families include: B-splines: Provide locality, smoothness, and interpretability; they are the most widely used in current implementations. RBFs (include Gaussian RBFs): Capture localized features in data and are effective in approximating functions with non-linear or clustered structures. Chebyshev polynomials: Offer efficient approximation with minimized error in the maximum norm, making them useful for stable function representation. Rational function: Useful for approximating functions with singularities or sharp variations, as they can model asymptotic behavior better than polynomials. Fourier series: Capture periodic patterns effectively and are particularly useful in domains such as physics-informed machine learning. Wavelet functions (DoG, Mexican hat, Morlet, and Shannon): Used for feature extraction as they can capture both high-frequency and low-frequency data components. Piecewise linear functions: Provide efficient approximation for multivariate functions in KANs. == Usage == In some modern neural architectures like convolutional neural networks (CNNs), recurrent neural networks (RNNs), and Transformers, KANs are typically used as drop-in substitutes for MLP layers. Despite KANs' general-purpose design, researchers have created and used them for a number of tasks: Scientific machine learning (SciML): Function fitting, partial differential equations (PDEs) and physical/mathematical laws. Continual learning: KANs better preserve previously learned information during incremental updates, avoiding catastrophic forgetting due to the locality of spline adjustments. Graph neural networks: Extensions such as Kolmogorov–Arnold Graph Neural Networks (KA-GNNs) integrate KAN modules into message-passing architectures, showing improvements in molecular property prediction tasks. Sensor data processing: Kolmogorov–Arnold Networks (KANs) have recently been applied to sensor data processing due to their ability to model complex nonlinear relationships with relatively few parameters and improved interpretability compared to conventional multilayer perceptrons. Applications include industrial soft sensors, biomedical signal analysis, remote sensing, and environmental monitoring systems. == Drawbacks == KANs can be computationally intensive and require a large number of parameters due to their use of polynomial functions to capture data.

Optical braille recognition

Optical braille recognition is technology to capture and process images of braille characters into natural language characters. It is used to convert braille documents for people who cannot read them into text, and for preservation and reproduction of the documents. == History == In 1984, a group of researchers at the Delft University of Technology designed a braille reading tablet, in which a reading head with photosensitive cells was moved along set of rulers to capture braille text line-by-line. In 1988, a group of French researchers at the Lille University of Science and Technology developed an algorithm, called Lectobraille, which converted braille documents into plain text. The system photographed the braille text with a low-resolution CCD camera, and used spatial filtering techniques, median filtering, erosion, and dilation to extract the braille. The braille characters were then converted to natural language using adaptive recognition. The Lectobraille technique had an error rate of 1%, and took an average processing time of seven seconds per line. In 1993, a group of researchers from the Katholieke Universiteit Leuven developed a system to recognize braille that had been scanned with a commercially available scanner. The system, however, was unable to handle deformities in the braille grid, so well-formed braille documents were required. In 1999, a group at the Hong Kong Polytechnic University implemented an optical braille recognition technique using edge detection to translate braille into English or Chinese text. In 2001, Murray and Dais created a handheld recognition system, that scanned small sections of a document at once. Because of the small area scanned at once, grid deformation was less of an issue, and a simpler, more efficient algorithm was employed. In 2003, Morgavi and Morando designed a system to recognize braille characters using artificial neural networks. This system was noted for its ability to handle image degradation more successfully than other approaches. == Challenges == Many of the challenges to successfully processing braille text arise from the nature of braille documents. Braille is generally printed on solid-color paper, with no ink to produce contrast between the raised characters and the background paper. However, imperfections in the page can appear in a scan or image of the page. Many documents are printed inter-point, meaning they are double-sided. As such, the depressions of the braille of one side appear interlaid with the protruding braille of the other side. == Techniques == Some optical braille recognition techniques attempt to use oblique lighting and a camera to reveal the shadows of the depressions and protrusions of the braille. Others make use of commercially available document scanners.