1987 Nobel Prize in Physics by Ciro Santilli 37 Updated +Created
This was so hot (no pun intended) and reproducible that the prize was awarded one year after discovery. Quite rare in those days already.
1978 Nobel Prize in Physics by Ciro Santilli 37 Updated +Created
In graph theory, an **independent set** (also known as a stable set) is a set of vertices in a graph, none of which are adjacent to each other. In other words, a set of vertices \( S \) is called an independent set if for every pair of vertices \( u \) and \( v \) in \( S \), there is no edge connecting \( u \) and \( v \) in the graph.
N. David Mermin by Wikipedia Bot 0
N. David Mermin is a prominent American physicist known for his work in theoretical condensed matter physics, quantum mechanics, and the philosophy of science. He is particularly well-known for his contributions to quantum theory, including the interpretation of quantum mechanics and research on the foundations of quantum physics. Mermin is also recognized for his clear and engaging writing style, which he has used to communicate complex scientific concepts to a broader audience. He has held academic positions at several prestigious institutions, including Cornell University.
1965 Nobel Prize in Physics by Ciro Santilli 37 Updated +Created
Point groups in two dimensions by Ciro Santilli 37 Updated +Created
Eric Schmidt by Ciro Santilli 37 Updated +Created
The induced subgraph isomorphism problem is a computational problem in graph theory and computer science. It involves determining whether a specific graph (often referred to as the "target graph") can be found as an induced subgraph within another graph (often referred to as the "host graph"). ### Definitions: 1. **Graph:** A graph \( G \) consists of a set of vertices (or nodes) and a set of edges (connections between pairs of vertices).
x86 Paging Tutorial / K-ary trees to the rescue by Ciro Santilli 37 Updated +Created
The algorithmically minded will have noticed that paging requires associative array (like Java Map of Python dict()) abstract data structure where:
  • the keys are linear pages addresses, thus of integer type
  • the values are physical page addresses, also of integer type
The single level paging scheme uses a simple array implementation of the associative array:
  • the keys are the array index
  • this implementation is very fast in time
  • but it is too inefficient in memory
and in C pseudo-code it looks like this:
linear_address[0]      = physical_address_0
linear_address[1]      = physical_address_1
linear_address[2]      = physical_address_2
...
linear_address[2^20-1] = physical_address_N
But there another simple associative array implementation that overcomes the memory problem: an (unbalanced) k-ary tree.
A K-ary tree, is just like a binary tree, but with K children instead of 2.
Using a K-ary tree instead of an array implementation has the following trade-offs:
  • it uses way less memory
  • it is slower since we have to de-reference extra pointers
In C-pseudo code, a 2-level K-ary tree with K = 2^10 looks like this:
level0[0] = &level1_0[0]
    level1_0[0]      = physical_address_0_0
    level1_0[1]      = physical_address_0_1
    ...
    level1_0[2^10-1] = physical_address_0_N
level0[1] = &level1_1[0]
    level1_1[0]      = physical_address_1_0
    level1_1[1]      = physical_address_1_1
    ...
    level1_1[2^10-1] = physical_address_1_N
...
level0[N] = &level1_N[0]
    level1_N[0]      = physical_address_N_0
    level1_N[1]      = physical_address_N_1
    ...
    level1_N[2^10-1] = physical_address_N_N
and we have the following arrays:
  • one directory, which has 2^10 elements. Each element contains a pointer to a page table array.
  • up to 2^10 pagetable arrays. Each one has 2^10 4 byte page entries.
and it still contains 2^10 * 2^10 = 2^20 possible keys.
K-ary trees can save up a lot of space, because if we only have one key, then we only need the following arrays:
  • one directory with 2^10 entries
  • one pagetable at directory[0] with 2^10 entries
  • all other directory[i] are marked as invalid, don't point to anything, and we don't allocate pagetable for them at all
Polish letter by Ciro Santilli 37 Updated +Created
The longest uncrossed knight's path refers to a path traced by a knight on a chessboard where the knight visits each square without revisiting any square (i.e., without crossing over itself or visiting the same square more than once). This kind of problem is often explored in the context of graph theory and combinatorial optimization.
In graph theory, a **matching** is a set of edges in a graph such that no two edges share a common vertex. In other words, it is a way of pairing the vertices of a graph such that each vertex is included in at most one edge of the matching. Here's a more detailed explanation: 1. **Vertices and Edges**: A graph consists of a set of vertices (nodes) and a set of edges (connections between pairs of vertices).
Maximum cut by Wikipedia Bot 0
The Maximum Cut (Max Cut) problem is a well-known problem in combinatorial optimization and graph theory. It involves a given undirected graph, where the goal is to partition the set of vertices into two disjoint subsets in such a way that the number of edges between the two subsets is maximized.
Polykarp Kusch by Ciro Santilli 37 Updated +Created
The maximum flow problem is a classic optimization problem in network flow theory, which aims to find the maximum flow that can be sent from a source node (often referred to as the "source") to a sink node (often referred to as the "sink" or "target") in a flow network. A flow network is a directed graph where each edge has a capacity representing the maximum allowable flow that can pass through that edge.
Polymorphism (computer science) by Ciro Santilli 37 Updated +Created

Pinned article: ourbigbook/introduction-to-the-ourbigbook-project

Welcome to the OurBigBook Project! Our goal is to create the perfect publishing platform for STEM subjects, and get university-level students to write the best free STEM tutorials ever.
Everyone is welcome to create an account and play with the site: ourbigbook.com/go/register. We belive that students themselves can write amazing tutorials, but teachers are welcome too. You can write about anything you want, it doesn't have to be STEM or even educational. Silly test content is very welcome and you won't be penalized in any way. Just keep it legal!
We have two killer features:
  1. topics: topics group articles by different users with the same title, e.g. here is the topic for the "Fundamental Theorem of Calculus" ourbigbook.com/go/topic/fundamental-theorem-of-calculus
    Articles of different users are sorted by upvote within each article page. This feature is a bit like:
    • a Wikipedia where each user can have their own version of each article
    • a Q&A website like Stack Overflow, where multiple people can give their views on a given topic, and the best ones are sorted by upvote. Except you don't need to wait for someone to ask first, and any topic goes, no matter how narrow or broad
    This feature makes it possible for readers to find better explanations of any topic created by other writers. And it allows writers to create an explanation in a place that readers might actually find it.
    Figure 1.
    Screenshot of the "Derivative" topic page
    . View it live at: ourbigbook.com/go/topic/derivative
  2. local editing: you can store all your personal knowledge base content locally in a plaintext markup format that can be edited locally and published either:
    This way you can be sure that even if OurBigBook.com were to go down one day (which we have no plans to do as it is quite cheap to host!), your content will still be perfectly readable as a static site.
    Figure 5. . You can also edit articles on the Web editor without installing anything locally.
    Video 3.
    Edit locally and publish demo
    . Source. This shows editing OurBigBook Markup and publishing it using the Visual Studio Code extension.
  3. https://raw.githubusercontent.com/ourbigbook/ourbigbook-media/master/feature/x/hilbert-space-arrow.png
  4. Infinitely deep tables of contents:
    Figure 6.
    Dynamic article tree with infinitely deep table of contents
    .
    Descendant pages can also show up as toplevel e.g.: ourbigbook.com/cirosantilli/chordate-subclade
All our software is open source and hosted at: github.com/ourbigbook/ourbigbook
Further documentation can be found at: docs.ourbigbook.com
Feel free to reach our to us for any help or suggestions: docs.ourbigbook.com/#contact