# Theory

Published articles for Theory.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Tambara Equipment

DevFeed: [Tambara Equipment](<https://devfeed.tech/articles/tambara-equipment-28862.md>)

Original publisher: [Read original article](<https://bartoszmilewski.com/2026/07/11/tambara-equipment/>)

Author: Bartosz Milewski

Published: 2026-07-11T08:13:34Z

Content type: article

Language: en

Sources: [Bartosz Milewski's Programming Cafe](<https://devfeed.tech/sources/bartosz-milewski-s-programming-cafe.md>)

Topics: [modules](<https://devfeed.tech/topics/modules.md>), [Haskell](<https://devfeed.tech/topics/haskell.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [category-theory](<https://devfeed.tech/tags/category-theory.md>), [code](<https://devfeed.tech/tags/code.md>), [double-categories](<https://devfeed.tech/tags/double-categories.md>), [double-category](<https://devfeed.tech/tags/double-category.md>), [haskell](<https://devfeed.tech/tags/haskell.md>), [modules](<https://devfeed.tech/tags/modules.md>), [optics](<https://devfeed.tech/tags/optics.md>), [proarrow-equipment](<https://devfeed.tech/tags/proarrow-equipment.md>), [profunctors](<https://devfeed.tech/tags/profunctors.md>), [structure](<https://devfeed.tech/tags/structure.md>), [tambara-modules](<https://devfeed.tech/tags/tambara-modules.md>), [tannakian-reconstruction](<https://devfeed.tech/tags/tannakian-reconstruction.md>), [theory](<https://devfeed.tech/tags/theory.md>), [transformation](<https://devfeed.tech/tags/transformation.md>)

### AI overview

This article explains Tambara modules through category theory and illustrates the concepts with Haskell code. It discusses their relationship to profunctors, monoidal actions, double categories, proarrow equipment, and Tannakian reconstruction.

### Source excerpt

I was originally attracted to category theory when trying to understand Haskell optics. I was puzzled by the van Laarhoven's functor representations and Kmett's use of Tambara modules. By playing Tetris with the Yoneda lemma I was able to make some progress, attacking more and more esoteric topics. With a group of researcher and students [...]

## The Problem of Pedagogy in Advanced Mathematics

DevFeed: [The Problem of Pedagogy in Advanced Mathematics](<https://devfeed.tech/articles/the-problem-of-pedagogy-in-advanced-mathematics-37661.md>)

Original publisher: [Read original article](<https://susam.net/advanced-mathematics-pedagogy.html>)

Published: 2026-05-11T00:00:00Z

Content type: opinion

Language: en

Sources: [Susam Pal](<https://devfeed.tech/sources/susam-pal.md>)

Topics: [Mathematics](<https://devfeed.tech/topics/mathematics.md>), [Math and Logic](<https://devfeed.tech/topics/math-and-logic.md>)

Tags: [advanced](<https://devfeed.tech/tags/advanced.md>), [mathematics](<https://devfeed.tech/tags/mathematics.md>), [opinion](<https://devfeed.tech/tags/opinion.md>), [students](<https://devfeed.tech/tags/students.md>), [theory](<https://devfeed.tech/tags/theory.md>)

### AI overview

The article argues that pedagogy remains a serious problem in advanced mathematics. It focuses on graduate-level textbooks whose proofs are often presented as high-level outlines, leaving students and even professional mathematicians to reconstruct omitted intermediate steps. It advocates explanations that are correct, complete, and accessible to reasonably motivated students.

### Source excerpt

It is a commonly held opinion that educational institutions could do more to improve the pedagogy of mathematics. This is especially applicable to primary and secondary schools, where students are first exposed to mathematics as a formal subject, along with other new subjects. Poor exposition can turn students away from mathematics for a lifetime. Only the highly motivated ones continue to engage with the subject. This is very unfortunate because mathematics is a beautiful subject and it is filled with wonder. It also teaches rigour in reasoning, clarity of thought and the discipline of constructing arguments from first principles to obtain intricate and often beautiful results. What is perhaps less known is that pedagogy is a problem even for graduate-level mathematics students and professional mathematicians. The proofs in many graduate-level mathematics textbooks are, in my humble opinion, not really proofs at all. They are closer to high-level outlines of proofs. The authors simply do not show their work. The student then has to put in an extraordinary amount of effort to understand and justify each line. Sometimes a 10-line argument in a textbook might expand into a 10-page proof if the student really wants to convince themselves that the argument works. I am not a mathematician, but out of personal interest, I have worked with professional mathematicians in the past to help refine notes that explain certain intermediate steps in textbooks (for example, Galois Theory by Stewart, in a specific case). I was surprised to find that it was not just me who found the intermediate steps of certain proofs obscure. Even professional mathematicians who had studied the subject for much of their lives found them obscure. It took us two days of working together to untangle a complicated argument and present it in a way that satisfied three properties: correctness, completeness and accessibility to a reasonably motivated student. There is a reason why jokes like 'proof by obv

## Analysis of PPPP "encryption"

DevFeed: [Analysis of PPPP "encryption"](<https://devfeed.tech/articles/analysis-of-pppp-encryption-36629.md>)

Original publisher: [Read original article](<https://palant.info/2026/01/05/analysis-of-pppp-encryption/>)

Author: Wladimir Palant

Published: 2026-01-05T15:50:53Z

Content type: article

Language: en

Sources: [Almost Secure](<https://devfeed.tech/sources/almost-secure.md>)

Topics: [Encryption](<https://devfeed.tech/topics/encryption.md>), [Cryptography](<https://devfeed.tech/topics/cryptography.md>), [Network](<https://devfeed.tech/topics/network.md>), [Protocol (disambiguation)](<https://devfeed.tech/topics/protocol.md>), [Algorithms](<https://devfeed.tech/topics/algorithms.md>)

Tags: [analysis](<https://devfeed.tech/tags/analysis.md>), [ascii](<https://devfeed.tech/tags/ascii.md>), [cryptanalysis](<https://devfeed.tech/tags/cryptanalysis.md>), [encryption](<https://devfeed.tech/tags/encryption.md>), [lan](<https://devfeed.tech/tags/lan.md>), [network](<https://devfeed.tech/tags/network.md>), [pull-request](<https://devfeed.tech/tags/pull-request.md>), [theory](<https://devfeed.tech/tags/theory.md>)

### AI overview

This analysis examines weaknesses in PPPP "encryption." It explains that app keys are reduced to a four-byte effective key and that the scheme is vulnerable to known-plaintext attacks. For LAN camera discovery when the app and traffic are unknown, the article describes sending all possible encrypted search packets, with at most 157,092 ciphertexts, and notes a pull request to update the device-detection script.

### Source excerpt

My first article on the PPPP protocol already said everything there was to say about PPPP "encryption": Keys are static and usually trivial to extract from the app. No matter how long the original key, it is mapped to an effective key that's merely four bytes long. The "encryption" is extremely susceptible to known-plaintext attacks, usually allowing reconstruction of the effective key from a single encrypted packet. So this thing is completely broken, why look any further? There is at least one situation where you don't know the app being used so you cannot extract the key and you don't have any traffic to analyze either. It's when you are trying to scan your local network for potential hidden cameras. This script will currently only work for cameras using plaintext communication. Other cameras expect a properly encrypted "LAN search" packet and will ignore everything else. How can this be solved without listing all possible keys in the script? By sending all possible ciphertexts of course! TL;DR: What would be completely ridiculous with any reasonable protocol turned out to be quite possible with PPPP. There are at most 157,092 ways in which a "LAN search" packet can be encrypted. I've opened a pull request to have the PPPP device detection script adjusted. Note: Cryptanalysis isn't my topic, I am by no means an expert here. These issues are simply too obvious. Contents Mapping keys to effective keys Redundancies within the effective key ASCII to the rescue How large is n? How many ciphertexts is that? Understanding the response Mapping keys to effective keys The key which is specified as part of the app's "init string" is not being used for encryption directly. Nor is it being fed into any of the established key stretching algorithms. Instead, a key represented by the byte sequence b1,b2,...,bnb_1, b_2, \ldots, b_n is mapped to four bytes k1,k2,k3,k4k_1, k_2, k_3, k_4 that become the effective key. These bytes are calculated as follows (⌊x⌋\lfloor x \rfloor means r

## B-trees Require Fewer Comparisons Than Balanced Binary Search Trees

DevFeed: [B-trees Require Fewer Comparisons Than Balanced Binary Search Trees](<https://devfeed.tech/articles/b-trees-require-fewer-comparisons-than-balanced-binary-search-trees-25085.md>)

Original publisher: [Read original article](<https://databasearchitects.blogspot.com/2024/06/b-trees-require-fewer-comparisons-than.html>)

Author: Viktor Leis (noreply@blogger.com)

Published: 2024-06-06T13:59:00Z

Content type: article

Language: en

Sources: [Database Architects](<https://devfeed.tech/sources/database-architects.md>)

Topics: [Data structures](<https://devfeed.tech/topics/data-structures.md>), [data](<https://devfeed.tech/topics/data.md>)

Tags: [comparisons](<https://devfeed.tech/tags/comparisons.md>), [data-structure](<https://devfeed.tech/tags/data-structure.md>), [structure](<https://devfeed.tech/tags/structure.md>), [theory](<https://devfeed.tech/tags/theory.md>)

### AI overview

The article compares B-trees with balanced binary search trees by analyzing the number of comparisons required for lookup operations. It explains that as the B-tree degree increases, the comparison bound approaches the lower bound, and for degree k>=8, B-trees are guaranteed to use fewer comparisons than AVL trees.

### Source excerpt

Due to better access locality, B-trees are faster than binary search trees in practice -- but are they also better in theory? To answer this question, let's look at the number of comparisons required for a search operation. Assuming we store n elements in a binary search tree, the lower bound for the number of comparisons is log2 n in the worst case. However, this is only achievable for a perfectly balanced tree. Maintaining such a tree's perfect balance during insert/delete operations requires O(n) time in the worst case. Balanced binary search trees, therefore, leave some slack in terms of how balanced they are and have slightly worse bounds. For example, it is well known that an AVL tree guarantees at most 1.44 log2 n comparisons, and a Red-Black tree guarantees 2 log2 n comparisons. In other words, AVL trees require at most 1.44 times the minimum number of comparisons, and Red-Black trees require up to twice the minimum. How many comparisons does a B-tree need? In B-trees with degree k, each node (except the root) has between k and 2k children. For k=2, a B-tree is essentially the same data structure as a Red-Black tree and therefore provides the same guarantee of 2 log2 n comparisons. So how about larger, more realistic values of k? To analyze the general case, we start with a B-tree that has the highest possible height for n elements. The height is maximal when each node has only k children (for simplicity, this analysis ignores the special case of underfull root nodes). This implies that the worst-case height of a B-tree is logk n. During a lookup, one has to perform a binary search that takes log2 k comparisons in each of the logk n nodes. So in total, we have log2 k * logk n = log2 n comparisons. This actually matches the best case, and to construct the worst case, we have to modify the tree somewhat. On one (and only one) arbitrary path from the root to a single leaf node, we increase the number of children from k to 2k. In this situation, the tree height

## Exphormer: Scaling transformers for graph-structured data

DevFeed: [Exphormer: Scaling transformers for graph-structured data](<https://devfeed.tech/articles/exphormer-scaling-transformers-for-graph-structured-data-28542.md>)

Original publisher: [Read original article](<http://blog.research.google/2024/01/exphormer-scaling-transformers-for.html>)

Author: Google AI (noreply@blogger.com)

Published: 2024-01-23T22:27:00Z

Content type: article

Language: en

Sources: [Google Research](<https://devfeed.tech/sources/google-research.md>)

Topics: [Graphs](<https://devfeed.tech/topics/graphs.md>), [Transformers](<https://devfeed.tech/topics/transformers.md>), [Machine learning](<https://devfeed.tech/topics/machine-learning.md>), [Natural language processing](<https://devfeed.tech/topics/nlp.md>)

Tags: [deep-learning](<https://devfeed.tech/tags/deep-learning.md>), [graph](<https://devfeed.tech/tags/graph.md>), [graphs](<https://devfeed.tech/tags/graphs.md>), [icml](<https://devfeed.tech/tags/icml.md>), [machine-learning](<https://devfeed.tech/tags/machine-learning.md>), [theory](<https://devfeed.tech/tags/theory.md>), [transformers](<https://devfeed.tech/tags/transformers.md>)

### AI overview

This article explains the scalability challenges of graph transformers, whose complete attention graphs create quadratic computational and memory costs. It introduces Exphormer, a sparse attention framework designed for graph data that uses expander graphs from spectral graph theory.

### Source excerpt

Posted by Ameya Velingker, Research Scientist, Google Research, and Balaji Venkatachalam, Software Engineer, Google Graphs, in which objects and their relations are represented as nodes (or vertices) and edges (or links) between pairs of nodes, are ubiquitous in computing and machine learning (ML). For example, social networks, road networks, and molecular structure and interactions are all domains in which underlying datasets have a natural graph structure. ML can be used to learn the properties of nodes, edges, or entire graphs. A common approach to learning on graphs are graph neural networks (GNNs), which operate on graph data by applying an optimizable transformation on node, edge, and global attributes. The most typical class of GNNs operates via a message-passing framework, whereby each layer aggregates the representation of a node with those of its immediate neighbors. Recently, graph transformer models have emerged as a popular alternative to message-passing GNNs. These models build on the success of Transformer architectures in natural language processing (NLP), adapting them to graph-structured data. The attention mechanism in graph transformers can be modeled by an interaction graph, in which edges represent pairs of nodes that attend to each other. Unlike message passing architectures, graph transformers have an interaction graph that is separate from the input graph. The typical interaction graph is a complete graph, which signifies a full attention mechanism that models direct interactions between all pairs of nodes. However, this creates quadratic computational and memory bottlenecks that limit the applicability of graph transformers to datasets on small graphs with at most a few thousand nodes. Making graph transformers scalable has been considered one of the most important research directions in the field (see the first open problem here). A natural remedy is to use a sparse interaction graph with fewer edges. Many sparse and efficient transformers

## Why does the chromaticity diagram look like that?

DevFeed: [Why does the chromaticity diagram look like that?](<https://devfeed.tech/articles/why-does-the-chromaticity-diagram-look-like-that-28097.md>)

Original publisher: [Read original article](<https://jlongster.com/why-chromaticity-shape>)

Author: James Long

Published: 2024-01-08T12:00:00Z

Content type: article

Language: en

Sources: [James Long](<https://devfeed.tech/sources/james-long.md>)

Topics: [math](<https://devfeed.tech/topics/math.md>), [pixel](<https://devfeed.tech/topics/pixel.md>)

Tags: [article](<https://devfeed.tech/tags/article.md>), [color](<https://devfeed.tech/tags/color.md>), [image](<https://devfeed.tech/tags/image.md>), [pixel](<https://devfeed.tech/tags/pixel.md>), [rgb](<https://devfeed.tech/tags/rgb.md>), [theory](<https://devfeed.tech/tags/theory.md>)

### AI overview

This article explains why the CIE 1931 chromaticity diagram has its characteristic shape and how its colors are computed. It introduces color-matching functions for red, green, and blue, then describes calculating color mixtures and rendering sampled points into a two-dimensional image.

### Source excerpt

(note: skipping interactive content block) ^30b920 I've always wanted to understand color theory, so I started reading about the XYZ color space which looked like it was the mother of all color spaces. I had no idea what that meant, but it was created in 1931 so studying 93-year old research seemed like a good place to start. When reading about the XYZ color space, this cursed image keeps popping up: By BenRG - Own work based on: CIExy1931.svg, Public Domain, https://commons.wikimedia.org/w/index.php?curid=7889658 I say "cursed" because I have no idea what that means. What the heck is that shape?? I couldn't find any reasonably clear answer to my question. It's obviously not a formula like x = func(y). Why is it that shape, and where did the colors come from? Obviously the edges are wavelengths which have a specific color, but how did the image above compute every pixel? I became obsessed with this question. Below is the path I took to try to answer it. I'll spoil the answer but it might not make sense until you read this article: the shape comes from how our eyes perceive red, green, and blue relative to each other. Skip to the last section if you want to see some direct examples. The fill colors inside the shape are another story, but a simple explanation is there is some math to calculate the mixture of colors and we can draw the above by sampling millions of points in the space and rendering them onto the 2d image. Let's dig in more. (note: skipping interactive content block) ^f0af28 (note: skipping interactive content block) ^82e29b Color matching functions The first place to start is color matching functions. These functions determine the strength of specific wavelengths (color) to contribute so that our eyes perceive a target wavelength (color). We have 3 color matching functions for red, green, and blue (at wavelengths 700, 546, and 435 respectively), and these functions specify how to mix RGB to so that we visually see a spectral color. More simply put: ima

## Graydon Hoare: 21 compilers and 3 orders of magnitude in 60 minutes

DevFeed: [Graydon Hoare: 21 compilers and 3 orders of magnitude in 60 minutes](<https://devfeed.tech/articles/graydon-hoare-21-compilers-and-3-orders-of-magnitude-in-60-minutes-29487.md>)

Original publisher: [Read original article](<http://lambda-the-ultimate.org/node/5648>)

Published: 2022-02-27T14:47:26Z

Content type: opinion

Language: en

Sources: [Lambda the Ultimate](<https://devfeed.tech/sources/lambda-the-ultimate.md>)

Topics: [Compiler](<https://devfeed.tech/topics/compiler.md>), [Code](<https://devfeed.tech/topics/code.md>), [Lisp](<https://devfeed.tech/topics/lisp.md>), [Machine learning](<https://devfeed.tech/topics/machine-learning.md>)

Tags: [bytecode](<https://devfeed.tech/tags/bytecode.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [compilers](<https://devfeed.tech/tags/compilers.md>), [efficiency](<https://devfeed.tech/tags/efficiency.md>), [implementation](<https://devfeed.tech/tags/implementation.md>), [lisp](<https://devfeed.tech/tags/lisp.md>), [ml](<https://devfeed.tech/tags/ml.md>), [pdf](<https://devfeed.tech/tags/pdf.md>), [presentation](<https://devfeed.tech/tags/presentation.md>), [talk](<https://devfeed.tech/tags/talk.md>), [theory](<https://devfeed.tech/tags/theory.md>)

### AI overview

The article discusses Graydon Hoare's 2019 undergraduate talk about compiler design, summarizing different approaches ranging from large traditional compilers to variants using selective optimization, compiler-friendly languages, theory-driven tools, intermediate representations, interpretation, partial evaluation, or hand-written implementations.

### Source excerpt

In 2019, Graydon Hoare gave a talk to undergraduates (PDF of slides) trying to communicate a sense of what compilers looked like from the perspective of people who did it for a living. I've been aware of this talk for over a year and meant to submit a story here, but was overcome by the sheer number of excellent observations. I'll just summarise the groups he uses: The giants: by which he means the big compilers that are built the old-fashioned way that throw massive resources at attaining efficiency The variants, which use tricks to avoid being so massive: Fewer optimisations: be traditional, but be selective and only the optimisations that really pay off Use compiler-friendly languages, by which he is really taking about languages that are good for implementing compilers, like Lisp and ML Theory-driven meta-languages, esp. how something like yacc allows a traditional Dragon-book style compiler to be written more easily Base compiler on a carefully designed IR that is either easy to compile or reasonable to bytecode-interpret Exercise discretion to have the object code be a mix of compiled and interpreted Use sophisticated partial evaluation Forget tradition and implement everything directly by hand I really recommend spending time working through these slides. While much of the material I was familiar with, enough was new, and I really appreciated the well-made points, shout-outs to projects that deserve more visibility, such as Nanopass compilers and CakeML, and the presentation of the Futamura projections, a famously tricky concept, at the undergraduate level.

## Latent Effects for Reusable Language Components

DevFeed: [Latent Effects for Reusable Language Components](<https://devfeed.tech/articles/latent-effects-for-reusable-language-components-29486.md>)

Original publisher: [Read original article](<http://lambda-the-ultimate.org/node/5640>)

Published: 2021-10-14T14:02:48Z

Content type: article

Language: en

Sources: [Lambda the Ultimate](<https://devfeed.tech/sources/lambda-the-ultimate.md>)

Topics: [Haskell](<https://devfeed.tech/topics/haskell.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [Development](<https://devfeed.tech/topics/development.md>), [implementation](<https://devfeed.tech/topics/implementation.md>)

Tags: [abstraction](<https://devfeed.tech/tags/abstraction.md>), [deferred](<https://devfeed.tech/tags/deferred.md>), [effects](<https://devfeed.tech/tags/effects.md>), [examples](<https://devfeed.tech/tags/examples.md>), [functional](<https://devfeed.tech/tags/functional.md>), [haskell](<https://devfeed.tech/tags/haskell.md>), [modular](<https://devfeed.tech/tags/modular.md>), [monad](<https://devfeed.tech/tags/monad.md>), [programming-languages](<https://devfeed.tech/tags/programming-languages.md>), [semantics](<https://devfeed.tech/tags/semantics.md>), [theory](<https://devfeed.tech/tags/theory.md>)

### AI overview

The article discusses latent effects, a generic class of control-flow mechanisms for modular language definitions. It describes how function abstractions, lazy computations, and MetaML-like staging can be expressed and combined, with a full Haskell implementation and examples.

### Source excerpt

Latent Effects for Reusable Language Components, by Birthe van den Berg, Tom Schrijvers, Casper Bach Poulsen, Nicolas Wu: The development of programming languages can be quite complicated and costly. Hence, much effort has been devoted to the modular definition of language features that can be reused in various combinations to define new languages and experiment with their semantics. A notable outcome of these efforts is the algebra-based "datatypes "a la carte" (DTC) approach. When combined with algebraic effects, DTC can model a wide range of common language features. Unfortunately, the current state of the art does not cover modular definitions of advanced control-flow mechanisms that defer execution to an appropriate point, such as call-by-name and call-by-need evaluation, as well as (multi-)staging. This paper defines latent effects, a generic class of such control-flow mechanisms. We demonstrate how function abstractions, lazy computations and a MetaML-like staging can all be expressed in a modular fashion using latent effects, and how they can be combined in various ways to obtain complex semantics. We provide a full Haskell implementation of our effects and handlers with a range of examples. Looks like a nice generalization of the basic approach taken by algebraic effects to more subtle contexts. Algebraic effects have been discussed here on LtU many times. I think this description from section 2.3 is a pretty good overview of their approach: LE&H is based on a different, more sophisticated structure than AE&H's free monad. This structure supports non-atomic operations (e.g., function abstraction, thunking, quoting) that contain or delimit computations whose execution may be deferred. Also, the layered handling is different. The idea is still the same, to replace bit by bit the structure of the tree by its meaning. Yet, while AE&H grows the meaning around the shrinking tree, LE&H grows little "pockets of meaning" around the individual nodes remaining in the

## Queueing theory for fun and practice #3: системы с потерями

DevFeed: [Queueing theory for fun and practice #3: системы с потерями](<https://devfeed.tech/articles/queueing-theory-for-fun-and-practice-3-24778.md>)

Original publisher: [Read original article](<https://dev.cheremin.info/2020/08/queueing-theory-for-fun-and-practice-3.html>)

Author: Ruslan Cheremin (noreply@blogger.com)

Published: 2020-08-09T10:59:00Z

Content type: article

Language: ru

Sources: [\>рабочие заметки](<https://devfeed.tech/sources/source-2.md>)

Topics: [queueing theory](<https://devfeed.tech/topics/queueing-theory.md>)

Tags: [queueing-theory](<https://devfeed.tech/tags/queueing-theory.md>), [tag-e5017782b67f](<https://devfeed.tech/tags/tag-e5017782b67f.md>), [theory](<https://devfeed.tech/tags/theory.md>)

### AI overview

This article explains queueing systems with losses, where tasks or customers are dropped because of limited buffers, queue capacity, or expiration timeouts. It discusses Erlang-C1 and Erlang-A2 models and their qualitative stability properties.

### Source excerpt

Начальник отдела челобитных Апполинарий Матвеевич любит порядок, поэтому просители могут ожидать его внимания только смиренно сидя в приемной, а не толкаясь возле дверей присутственного места - оттуда их гоняет казак Семен. Какова должна быть посадочная вместимость приемной, чтобы не более 1 просителя в день ушло не солоно хлебавши, если пропускная способность Апполинария Матвеевича не более

## Queueing theory for fun and practice #2: нагрузка и время отклика

DevFeed: [Queueing theory for fun and practice #2: нагрузка и время отклика](<https://devfeed.tech/articles/queueing-theory-for-fun-and-practice-2-24777.md>)

Original publisher: [Read original article](<https://dev.cheremin.info/2020/07/queueing-theory-for-fun-and-practice-2.html>)

Author: Ruslan Cheremin (noreply@blogger.com)

Published: 2020-07-27T15:13:00Z

Content type: tutorial

Language: ru

Sources: [\>рабочие заметки](<https://devfeed.tech/sources/source-2.md>)

Topics: [queueing theory](<https://devfeed.tech/topics/queueing-theory.md>)

Tags: [fifo](<https://devfeed.tech/tags/fifo.md>), [queueing-theory](<https://devfeed.tech/tags/queueing-theory.md>), [random](<https://devfeed.tech/tags/random.md>), [tag-e5017782b67f](<https://devfeed.tech/tags/tag-e5017782b67f.md>), [theory](<https://devfeed.tech/tags/theory.md>)

### AI overview

This article explains how system load affects response time through internal queues and buffers. It discusses the characteristic J-curve, the difficulty of deriving a general analytical formula, and how queueing discipline, workload distributions, server allocation, and utilization influence waiting time.

### Source excerpt

Во храме Божьей Матери Поклонской батюшка Иннокентий принимает исповедь у раба божьего обыкновенно минут за 10, а утешения жаждут около 5-и рабов божьих в час. Много ли стульев надобно поставить во храме, дабы исповеди ожидающие не толпились в праздности пред святым алтарем? "Массовое окормление паствы: пособие для начинающих" (редакция 3-я, неизданная) (Часть 2, начало: ТМО, square

## Queueing theory for fun and practice (#1): square root staffing, Little's law

DevFeed: [Queueing theory for fun and practice (#1): square root staffing, Little's law](<https://devfeed.tech/articles/queueing-theory-for-fun-and-practice-1-square-root-staffing-little-s-law-24776.md>)

Original publisher: [Read original article](<https://dev.cheremin.info/2020/07/queueing-theory-for-fun-and-practice-1.html>)

Author: Ruslan Cheremin (noreply@blogger.com)

Published: 2020-07-24T12:35:00Z

Content type: tutorial

Language: ru

Sources: [\>рабочие заметки](<https://devfeed.tech/sources/source-2.md>)

Topics: [queueing theory](<https://devfeed.tech/topics/queueing-theory.md>)

Tags: [operations](<https://devfeed.tech/tags/operations.md>), [queueing-theory](<https://devfeed.tech/tags/queueing-theory.md>), [research](<https://devfeed.tech/tags/research.md>), [square](<https://devfeed.tech/tags/square.md>), [tag-88bad1e8f274](<https://devfeed.tech/tags/tag-88bad1e8f274.md>), [tag-e5017782b67f](<https://devfeed.tech/tags/tag-e5017782b67f.md>), [theory](<https://devfeed.tech/tags/theory.md>)

### AI overview

This introductory article begins a series on queueing theory, presenting the author's plan to explain simple, broadly applicable principles, their practical uses, and the assumptions behind them. The planned topics include terminology, capacity and scaling, Little's law, response time versus utilization, and Erlang systems. The author notes that the material is an informal personal summary rather than an expert treatment.

### Source excerpt

На 28-ом этаже центра разработки крупного инвестиционного банка есть 8 туалетных кабинок для людей, идентифицирующих себя с мужским гендером...

## Category theory

DevFeed: [Category theory](<https://devfeed.tech/articles/category-theory-38635.md>)

Original publisher: [Read original article](<https://krossovochkin.com/posts/2020_04_26_category_theory/>)

Published: 2020-04-26T00:00:00Z

Content type: tutorial

Language: en

Sources: [Vasya Drobushkov](<https://devfeed.tech/sources/vasya-drobushkov.md>)

Topics: [Category Theory](<https://devfeed.tech/topics/category-theory.md>), [Programming](<https://devfeed.tech/topics/programming.md>)

Tags: [category-theory](<https://devfeed.tech/tags/category-theory.md>), [morphisms](<https://devfeed.tech/tags/morphisms.md>), [object](<https://devfeed.tech/tags/object.md>), [programming](<https://devfeed.tech/tags/programming.md>), [theory](<https://devfeed.tech/tags/theory.md>)

### AI overview

A personal synopsis of category theory covering categories, objects, morphisms, composition, universal constructions, order relations, monoids, terminal and initial objects, products, sums, and semirings. It also connects products and sums to programming concepts such as pairs, Either, and algebraic data types.

### Source excerpt

Source Disclaimer This is short synopsis of great set of lectures. What is written here is by no means true, one should refer to original lectures or some books etc. This is written mostly for myself in case I wanted to revisit the topic in the future. Everything below is not "what it is" but mostly "how I understood that". So, there might be mistakes and so on. Category Category consists of:

## Waiting time paradox #1: автобусы, очереди, и хэш-таблицы

DevFeed: [Waiting time paradox #1: автобусы, очереди, и хэш-таблицы](<https://devfeed.tech/articles/waiting-time-paradox-1-24770.md>)

Original publisher: [Read original article](<https://dev.cheremin.info/2019/04/waiting-time-paradox.html>)

Author: Ruslan Cheremin (noreply@blogger.com)

Published: 2019-04-30T07:37:00Z

Content type: article

Language: ru

Sources: [\>рабочие заметки](<https://devfeed.tech/sources/source-2.md>)

Topics: [queueing theory](<https://devfeed.tech/topics/queueing-theory.md>)

Tags: [queueing-theory](<https://devfeed.tech/tags/queueing-theory.md>), [tag-35a4c7fafefe](<https://devfeed.tech/tags/tag-35a4c7fafefe.md>), [tag-e5017782b67f](<https://devfeed.tech/tags/tag-e5017782b67f.md>), [theory](<https://devfeed.tech/tags/theory.md>), [time](<https://devfeed.tech/tags/time.md>)

### AI overview

The article explains the waiting time paradox using bus arrivals. Although the average interval between buses may be 10 minutes, people are more likely to arrive during longer-than-average intervals, so their average wait can exceed the intuitive estimate of five minutes. It also introduces related examples involving hash-table searches and request processing.

### Source excerpt

Ничего не доводи до крайности: человек, желающий трапезовать слишком поздно, рискует трапезовать на другой день поутру. (Козьма Прутков) ...парадокс времен ожидания, или почему автобуса приходится ждать дольше, чем казалось бы, почему успешный поиск в хэш-таблице скорее всего медленнее, чем неуспешный, и почему иногда среднее время обработки запроса можно уменьшить, если добавить в цикл

## Deep Probabilistic Modelling with Gaussian Processes #NIPS2017

DevFeed: [Deep Probabilistic Modelling with Gaussian Processes #NIPS2017](<https://devfeed.tech/articles/deep-probabilistic-modelling-with-gaussian-processes-nips2017-40106.md>)

Original publisher: [Read original article](<https://korbonits.com/blog/2017-12-04-nips-tutorials-dgp/>)

Published: 2017-12-04T12:00:00Z

Content type: tutorial

Language: en

Sources: [Alex Korbonits](<https://devfeed.tech/sources/alex-korbonits.md>)

Topics: [Tutorial](<https://devfeed.tech/topics/tutorial.md>), [VAE](<https://devfeed.tech/topics/vae.md>), [Machine learning](<https://devfeed.tech/topics/machine-learning.md>), [Deep learning](<https://devfeed.tech/topics/deep-learning.md>), [Neural Network](<https://devfeed.tech/topics/neural-network.md>), [NeurIPS](<https://devfeed.tech/topics/neurips.md>)

Tags: [analysis](<https://devfeed.tech/tags/analysis.md>), [bias](<https://devfeed.tech/tags/bias.md>), [conference](<https://devfeed.tech/tags/conference.md>), [data](<https://devfeed.tech/tags/data.md>), [deep-learning](<https://devfeed.tech/tags/deep-learning.md>), [gaussian](<https://devfeed.tech/tags/gaussian.md>), [inference](<https://devfeed.tech/tags/inference.md>), [modelling](<https://devfeed.tech/tags/modelling.md>), [neural-network](<https://devfeed.tech/tags/neural-network.md>), [neurips](<https://devfeed.tech/tags/neurips.md>), [probabilistic](<https://devfeed.tech/tags/probabilistic.md>), [research](<https://devfeed.tech/tags/research.md>), [supervised-learning](<https://devfeed.tech/tags/supervised-learning.md>), [theory](<https://devfeed.tech/tags/theory.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>), [unsupervised-learning](<https://devfeed.tech/tags/unsupervised-learning.md>), [videos](<https://devfeed.tech/tags/videos.md>)

### AI overview

Lecture notes from a NeurIPS 2017 tutorial introduce deep probabilistic modelling with Gaussian processes, covering probabilistic neural networks, uncertainty, graphical models, and the computational challenge of inference.

### Source excerpt

Lecture notes from Neil Lawrence's NIPS 2017 tutorial on deep probabilistic modelling with Gaussian processes -- from GPs to deep GPs and variational inference.

## Zero-Knowledge: Definitions and Theory

DevFeed: [Zero-Knowledge: Definitions and Theory](<https://devfeed.tech/articles/zero-knowledge-definitions-and-theory-40403.md>)

Original publisher: [Read original article](<https://www.jeremykun.com/2016/09/19/zero-knowledge-definitions-and-theory/>)

Published: 2016-09-19T09:00:00Z

Content type: tutorial

Language: en

Sources: [Jeremy Kun](<https://devfeed.tech/sources/jeremy-kun.md>)

Topics: [Zero-knowledge proof](<https://devfeed.tech/topics/zkp.md>), [Graphs](<https://devfeed.tech/topics/graphs.md>), [Protocol (disambiguation)](<https://devfeed.tech/topics/protocol.md>), [class](<https://devfeed.tech/topics/class.md>)

Tags: [graph-isomorphism](<https://devfeed.tech/tags/graph-isomorphism.md>), [np](<https://devfeed.tech/tags/np.md>), [permutation](<https://devfeed.tech/tags/permutation.md>), [protocol](<https://devfeed.tech/tags/protocol.md>), [theory](<https://devfeed.tech/tags/theory.md>), [zero-knowledge](<https://devfeed.tech/tags/zero-knowledge.md>)

### AI overview

This article explains definitions and theory behind zero-knowledge proofs. It contrasts graph isomorphism and 3-coloring protocols, focusing on their interaction between prover and verifier, cryptographic assumptions, transcript distributions, and simulation.

### Source excerpt

The next Monday, when the fathers were all back at work, we kids were playing in a field. One kid says to me, "See that bird? What kind of bird is that?" I said, "I haven't the slightest idea what kind of a bird it is." He says, "It's a brown-throated thrush. Your father doesn't teach you anything!" But it was the opposite. He had already taught me: "See that bird?

## Deriving the Reddit Formula

DevFeed: [Deriving the Reddit Formula](<https://devfeed.tech/articles/deriving-the-reddit-formula-37888.md>)

Original publisher: [Read original article](<https://www.evanmiller.org/deriving-the-reddit-formula.html>)

Author: Evan Miller

Published: 2015-07-14T15:15:00Z

Content type: article

Language: en

Sources: [Evan Miller](<https://devfeed.tech/sources/evan-miller.md>)

Topics: [Reddit](<https://devfeed.tech/topics/reddit.md>), [math](<https://devfeed.tech/topics/math.md>), [Users](<https://devfeed.tech/topics/users.md>)

Tags: [analysis](<https://devfeed.tech/tags/analysis.md>), [expression](<https://devfeed.tech/tags/expression.md>), [lambda](<https://devfeed.tech/tags/lambda.md>), [math](<https://devfeed.tech/tags/math.md>), [reddit](<https://devfeed.tech/tags/reddit.md>), [theory](<https://devfeed.tech/tags/theory.md>)

### AI overview

Evan Miller derives a Reddit "hot" formula using expected-utility theory. The analysis explains the formula's constants, logarithm, absolute value, and lack of current time, estimates optimization for users who visit every 5.43 hours, and proposes a caveated amendment.

### Source excerpt

Deriving the Reddit Formula -- What can expected-utility theory tell us about Reddit's "hot" formula?

## Deep Learning with Python

DevFeed: [Deep Learning with Python](<https://devfeed.tech/articles/deep-learning-with-python-40101.md>)

Original publisher: [Read original article](<https://korbonits.com/blog/2015-05-04-deep-learning-with-python/>)

Published: 2015-05-04T11:49:39Z

Content type: tutorial

Language: en

Sources: [Alex Korbonits](<https://devfeed.tech/sources/alex-korbonits.md>)

Topics: [Deep learning](<https://devfeed.tech/topics/deep-learning.md>), [Python](<https://devfeed.tech/topics/python.md>), [Deep neural networks](<https://devfeed.tech/topics/deep-neural-networks.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>)

Tags: [deep-learning](<https://devfeed.tech/tags/deep-learning.md>), [introduction](<https://devfeed.tech/tags/introduction.md>), [practical](<https://devfeed.tech/tags/practical.md>), [python](<https://devfeed.tech/tags/python.md>), [theory](<https://devfeed.tech/tags/theory.md>)

### AI overview

A practical introduction to deep learning with Python. The article explains what deep learning is, confirms that Python can be used as glue between components written in other languages, and outlines ways to get started while noting their advantages and pitfalls.

### Source excerpt

A practical introduction to deep learning with Python -- from zero to insights in minutes, no theory required.

## Don't use the CAP theorem for packet losses

DevFeed: [Don't use the CAP theorem for packet losses](<https://devfeed.tech/articles/don-t-use-the-cap-theorem-for-packet-losses-21685.md>)

Original publisher: [Read original article](<http://blog.thislongrun.com/2015/03/dont-use-cap-theorem-for-packet-losses.html>)

Author: Nicolas Liochon (noreply@blogger.com)

Published: 2015-03-18T15:16:00Z

Content type: article

Language: en

Sources: [Nicolas Liochon](<https://devfeed.tech/sources/nicolas-liochon.md>)

Topics: [CAP theorem](<https://devfeed.tech/topics/cap-theorem.md>), [consistency](<https://devfeed.tech/topics/consistency.md>), [Networks](<https://devfeed.tech/topics/networks.md>), [Protocol (disambiguation)](<https://devfeed.tech/topics/protocol.md>)

Tags: [acid](<https://devfeed.tech/tags/acid.md>), [availability](<https://devfeed.tech/tags/availability.md>), [cap-theorem](<https://devfeed.tech/tags/cap-theorem.md>), [consistency](<https://devfeed.tech/tags/consistency.md>), [database](<https://devfeed.tech/tags/database.md>), [distributed-system](<https://devfeed.tech/tags/distributed-system.md>), [durability](<https://devfeed.tech/tags/durability.md>), [ip](<https://devfeed.tech/tags/ip.md>), [latency](<https://devfeed.tech/tags/latency.md>), [messages](<https://devfeed.tech/tags/messages.md>), [network](<https://devfeed.tech/tags/network.md>), [networks](<https://devfeed.tech/tags/networks.md>), [partition](<https://devfeed.tech/tags/partition.md>), [protocol](<https://devfeed.tech/tags/protocol.md>), [tcp](<https://devfeed.tech/tags/tcp.md>), [theory](<https://devfeed.tech/tags/theory.md>), [udp](<https://devfeed.tech/tags/udp.md>)

### AI overview

The article explains why ordinary packet loss on IP networks should not automatically be treated as a CAP theorem partition. It distinguishes congestion-related packet loss from the arbitrary message loss assumed by the CAP model and discusses how TCP responds to congestion.

### Source excerpt

In the previous post, we looked at this common saying: "nodes fail, network packets get lost, partitions happen so you need to use CAP to understand your trade-offs." We saw that node failures were not partitions. What about packet losses? Most distributed applications use TCP or UDP on top of IP, and it is well known that IP is an asynchronous protocol and that it can lose packets. So should we use all the results from the theory of asynchronous networks? Must we use CAP to do some trade-offs if we are using a network that can drop packets? The answer is no. The root issue lies in the incompleteness of our description of IP. "IP is an asynchronous protocol and it can lose packets" is true, but incomplete, and this incompleteness is misleading. Let's discuss why. CAP - The usual reminder CAP says that a distributed system cannot be Consistent, Available and Partition tolerant. We use here the definitions from the proof [C2]. Consistent is: [C2] "Atomic, linearizable, consistency [...]. There must exist a total order on all operations such that each operation looks as if it were completed at a single instant. This is equivalent to requiring requests of the distributed shared memory to act as if they were executing on a single node, responding to operations one at a time." Available is: [C2] "For a distributed system to be continuously available, every request received by a non-failing node in the system must result in a response." Partition is: [C2] "The network will be allowed to lose arbitrarily many messages sent from one node to another. When a network is partitioned, all messages sent from nodes in one component of the partition to nodes in another component are lost." How can you lose packets on a network Packet loss happens when a network equipment receives more messages that it can send. Losing packets is common on an IP network. A TCP connection tries to use most of the bandwidth available. It sends nearly as many packets as it can, until it loses some. Losi

## A Proofless Introduction to Information Theory

DevFeed: [A Proofless Introduction to Information Theory](<https://devfeed.tech/articles/a-proofless-introduction-to-information-theory-40377.md>)

Original publisher: [Read original article](<https://www.jeremykun.com/2015/02/16/a-proofless-introduction-to-information-theory/>)

Published: 2015-02-16T09:00:00Z

Content type: tutorial

Language: en

Sources: [Jeremy Kun](<https://devfeed.tech/sources/jeremy-kun.md>)

Topics: [Encoding](<https://devfeed.tech/topics/encoding.md>), [digital](<https://devfeed.tech/topics/digital.md>)

Tags: [channel](<https://devfeed.tech/tags/channel.md>), [coding-theory](<https://devfeed.tech/tags/coding-theory.md>), [communication](<https://devfeed.tech/tags/communication.md>), [compression](<https://devfeed.tech/tags/compression.md>), [digital](<https://devfeed.tech/tags/digital.md>), [encoding](<https://devfeed.tech/tags/encoding.md>), [entropy](<https://devfeed.tech/tags/entropy.md>), [error](<https://devfeed.tech/tags/error.md>), [error-correction](<https://devfeed.tech/tags/error-correction.md>), [example](<https://devfeed.tech/tags/example.md>), [explain](<https://devfeed.tech/tags/explain.md>), [hamming](<https://devfeed.tech/tags/hamming.md>), [independent](<https://devfeed.tech/tags/independent.md>), [information](<https://devfeed.tech/tags/information.md>), [information-theory](<https://devfeed.tech/tags/information-theory.md>), [kolmogorov-complexity](<https://devfeed.tech/tags/kolmogorov-complexity.md>), [language](<https://devfeed.tech/tags/language.md>), [markov](<https://devfeed.tech/tags/markov.md>), [mathematics](<https://devfeed.tech/tags/mathematics.md>), [messages](<https://devfeed.tech/tags/messages.md>), [models](<https://devfeed.tech/tags/models.md>), [probabilistic-method](<https://devfeed.tech/tags/probabilistic-method.md>), [problems](<https://devfeed.tech/tags/problems.md>), [shannon](<https://devfeed.tech/tags/shannon.md>), [theory](<https://devfeed.tech/tags/theory.md>)

### AI overview

A proofless introduction to information theory explains noiseless and noisy communication problems, encoding schemes, entropy, and how entropy differs from Kolmogorov complexity.

### Source excerpt

There are two basic problems in information theory that are very easy to explain. Two people, Alice and Bob, want to communicate over a digital channel over some long period of time, and they know the probability that certain messages will be sent ahead of time. For example, English language sentences are more likely than gibberish, and "Hi" is much more likely than "asphyxiation." The problems are: Say communication is very expensive.

## The Complexity of Communication

DevFeed: [The Complexity of Communication](<https://devfeed.tech/articles/the-complexity-of-communication-40369.md>)

Original publisher: [Read original article](<https://www.jeremykun.com/2014/11/10/the-complexity-of-communication/>)

Published: 2014-11-10T09:00:25Z

Content type: tutorial

Language: en

Sources: [Jeremy Kun](<https://devfeed.tech/sources/jeremy-kun.md>)

Topics: [Computer science](<https://devfeed.tech/topics/computer-science.md>), [Algorithms, Complexity](<https://devfeed.tech/topics/algorithms-complexity.md>), [Streaming](<https://devfeed.tech/topics/streaming.md>), [circuit](<https://devfeed.tech/topics/circuit.md>)

Tags: [communication](<https://devfeed.tech/tags/communication.md>), [communication-complexity](<https://devfeed.tech/tags/communication-complexity.md>), [computational-complexity](<https://devfeed.tech/tags/computational-complexity.md>), [fourier-analysis](<https://devfeed.tech/tags/fourier-analysis.md>), [information-theory](<https://devfeed.tech/tags/information-theory.md>), [log-rank-conjecture](<https://devfeed.tech/tags/log-rank-conjecture.md>), [lower-bounds](<https://devfeed.tech/tags/lower-bounds.md>), [matrices](<https://devfeed.tech/tags/matrices.md>), [streaming-algorithms](<https://devfeed.tech/tags/streaming-algorithms.md>), [theory](<https://devfeed.tech/tags/theory.md>)

### AI overview

This tutorial introduces communication complexity: how much information two parties must exchange to jointly compute a function of separate inputs. It presents the basic two-player model and explains the subject's use in proving lower bounds, including applications to circuit design and streaming algorithms.

### Source excerpt

satellite One of the most interesting questions posed in the last thirty years of computer science is to ask how much "information" must be communicated between two parties in order for them to jointly compute something. One can imagine these two parties living on distant planets, so that the cost of communicating any amount of information is very expensive, but each person has an integral component of the answer that the other does not.

## When Greedy Algorithms are Good Enough: Submodularity and the (1--1/e)-Approximation

DevFeed: [When Greedy Algorithms are Good Enough: Submodularity and the (1--1/e)-Approximation](<https://devfeed.tech/articles/when-greedy-algorithms-are-good-enough-submodularity-and-the-1-1-e-approximation-40361.md>)

Original publisher: [Read original article](<https://www.jeremykun.com/2014/07/07/when-greedy-algorithms-are-good-enough-submodularity-and-the-1-1e-approximation/>)

Published: 2014-07-07T10:00:01Z

Content type: tutorial

Language: en

Sources: [Jeremy Kun](<https://devfeed.tech/sources/jeremy-kun.md>)

Topics: [Algorithms, Complexity](<https://devfeed.tech/topics/algorithms-complexity.md>), [Algorithms](<https://devfeed.tech/topics/algorithms.md>), [Computer science](<https://devfeed.tech/topics/computer-science.md>), [Mathematics](<https://devfeed.tech/topics/mathematics.md>)

Tags: [algorithm](<https://devfeed.tech/tags/algorithm.md>), [algorithms](<https://devfeed.tech/tags/algorithms.md>), [approximation](<https://devfeed.tech/tags/approximation.md>), [approximation-algorithms](<https://devfeed.tech/tags/approximation-algorithms.md>), [computer-science](<https://devfeed.tech/tags/computer-science.md>), [coverage](<https://devfeed.tech/tags/coverage.md>), [greedy](<https://devfeed.tech/tags/greedy.md>), [greedy-algorithm](<https://devfeed.tech/tags/greedy-algorithm.md>), [matroids](<https://devfeed.tech/tags/matroids.md>), [optimization](<https://devfeed.tech/tags/optimization.md>), [submodularity](<https://devfeed.tech/tags/submodularity.md>), [theory](<https://devfeed.tech/tags/theory.md>)

### AI overview

This article explains when greedy algorithms can produce optimal or near-optimal solutions. It introduces submodularity as a diminishing-returns property and discusses how it can provide a reasonably good approximation to the optimal solution.

### Source excerpt

Greedy algorithms are among the simplest and most intuitive algorithms known to humans. Their name essentially gives their description: do the thing that looks best right now, and repeat until nothing looks good anymore or you're forced to stop. Some of the best situations in computer science are also when greedy algorithms are optimal or near-optimal. There is a beautiful theory of this situation, known as the theory of matroids. We haven't covered matroids on this blog (edit: we did), but in this post we will focus on the next best thing: when the greedy algorithm guarantees a reasonably good approximation to the optimal solution.

## Martingales and the Optional Stopping Theorem

DevFeed: [Martingales and the Optional Stopping Theorem](<https://devfeed.tech/articles/martingales-and-the-optional-stopping-theorem-40349.md>)

Original publisher: [Read original article](<https://www.jeremykun.com/2014/03/03/martingales-and-the-optional-stopping-theorem/>)

Published: 2014-03-03T10:00:38Z

Content type: tutorial

Language: en

Sources: [Jeremy Kun](<https://devfeed.tech/sources/jeremy-kun.md>)

Topics: [math](<https://devfeed.tech/topics/math.md>)

Tags: [2-sat](<https://devfeed.tech/tags/2-sat.md>), [conditional-probability](<https://devfeed.tech/tags/conditional-probability.md>), [expectation](<https://devfeed.tech/tags/expectation.md>), [gambling](<https://devfeed.tech/tags/gambling.md>), [martingales](<https://devfeed.tech/tags/martingales.md>), [mathematics](<https://devfeed.tech/tags/mathematics.md>), [optional-stopping-theorem](<https://devfeed.tech/tags/optional-stopping-theorem.md>), [primer](<https://devfeed.tech/tags/primer.md>), [probability-theory](<https://devfeed.tech/tags/probability-theory.md>), [random](<https://devfeed.tech/tags/random.md>), [random-variables](<https://devfeed.tech/tags/random-variables.md>), [randomized-algorithm](<https://devfeed.tech/tags/randomized-algorithm.md>), [stochastic-processes](<https://devfeed.tech/tags/stochastic-processes.md>), [theory](<https://devfeed.tech/tags/theory.md>)

### AI overview

This primer introduces martingales as models of fair betting games and explains their connection to probability theory. It begins with a geometric-distribution exercise involving repeated die throws, then introduces the ABRACADABRA problem using a monkey typing random letters.

### Source excerpt

This is a guest post by my colleague Adam Lelkes. The goal of this primer is to introduce an important and beautiful tool from probability theory, a model of fair betting games called martingales. In this post I will assume that the reader is familiar with the basics of probability theory. For those that need to refresh their knowledge, Jeremy's excellent primers (1, 2) are a good place to start.

## Probably Approximately Correct -- a Formal Theory of Learning

DevFeed: [Probably Approximately Correct -- a Formal Theory of Learning](<https://devfeed.tech/articles/probably-approximately-correct-a-formal-theory-of-learning-40337.md>)

Original publisher: [Read original article](<https://www.jeremykun.com/2014/01/02/probably-approximately-correct-a-formal-theory-of-learning/>)

Published: 2014-01-02T18:45:51Z

Content type: tutorial

Language: en

Sources: [Jeremy Kun](<https://devfeed.tech/sources/jeremy-kun.md>)

Topics: [Learning](<https://devfeed.tech/topics/learning.md>), [Machine Learning & Artificial Intelligence](<https://devfeed.tech/topics/machine-learning-artificial-intelligence.md>), [Computer science](<https://devfeed.tech/topics/computer-science.md>), [Mathematics](<https://devfeed.tech/topics/mathematics.md>)

Tags: [learning](<https://devfeed.tech/tags/learning.md>), [learning-theory](<https://devfeed.tech/tags/learning-theory.md>), [machine-learning](<https://devfeed.tech/tags/machine-learning.md>), [mathematics](<https://devfeed.tech/tags/mathematics.md>), [occam-s-razor](<https://devfeed.tech/tags/occam-s-razor.md>), [pac-learning](<https://devfeed.tech/tags/pac-learning.md>), [theory](<https://devfeed.tech/tags/theory.md>)

### AI overview

A mathematical introduction to PAC learning, a foundational framework in computational learning theory. The article develops basic definitions, explains PAC-learnability through interval examples, and places the theory in its historical context.

### Source excerpt

In tackling machine learning (and computer science in general) we face some deep philosophical questions. Questions like, "What does it mean to learn?" and, "Can a computer learn?" and, "How do you define simplicity?" and, "Why does Occam's Razor work? (Why do simple hypotheses do well at modelling reality?)" In a very deep sense, learning theorists take these philosophical questions -- or at least aspects of them -- give them fleshy mathematical bodies, and then answer them with theorems and proofs.

## Introducing Categories

DevFeed: [Introducing Categories](<https://devfeed.tech/articles/introducing-categories-40314.md>)

Original publisher: [Read original article](<https://www.jeremykun.com/2013/04/24/introducing-categories/>)

Published: 2013-04-24T06:48:01Z

Content type: article

Language: en

Sources: [Jeremy Kun](<https://devfeed.tech/sources/jeremy-kun.md>)

Topics: [Category Theory](<https://devfeed.tech/topics/category-theory.md>)

Tags: [categories](<https://devfeed.tech/tags/categories.md>), [category-theory](<https://devfeed.tech/tags/category-theory.md>), [theory](<https://devfeed.tech/tags/theory.md>)

### AI overview

An introductory tutorial defines category theory and explains its purpose as a unified language for organizing mathematical structures across disciplines. It introduces examples and prepares readers for the formal definition of categories.

### Source excerpt

For a list of all the posts on Category Theory, see the Main Content page. It is time for us to formally define what a category is, to see a wealth of examples. In our next post we'll see how the definitions laid out here translate to programming constructs. As we've said in our soft motivational post on categories, the point of category theory is to organize mathematical structures across various disciplines into a unified language.

[Next page](<https://devfeed.tech/tags/theory.md?cursor=WyIyMDEzLTA0LTI0VDA2OjQ4OjAxKzAwOjAwIiwgIjA5MmExMDM3LTVjYjktNDNjMy05OTIxLTNmMWJhODAzMWZjMSJd>)