Skip to content

Instantly share code, notes, and snippets.

View wolfram77's full-sized avatar

Subhajit Sahu wolfram77

View GitHub Profile
@wolfram77
wolfram77 / notes-learning-skillful-medium-range-global-weather-forecasting.md
Last active May 31, 2024 17:49
Learning skillful medium-range global weather forecasting : NOTES

In this paper Lam et al. propose GraphCast, an ML based method trained directly on reanalysis data. It predicts weather variables for the next 10 day at 0.25° resolution globally in under 1 minute (on a Google Cloud TPU v4). GraphCast outperforms the most accurate operational deterministic systems on 90% of 1380 verification targets --- and supports better severe event prediction, including tropical cyclone tracking, atmospheric rivers, and extreme temperatures.


Now in detail

ECMWF's IFS runs for less than am hour, every 6 hours, of every day, worldwide making weather forecasts. This is down using NWP, which involves solving the governing equations of weather using supercomputers. The success of NWP lies in rigorous and ongoing research. NWP scales to greater accuracy with greater computational resources. The top deterministic operational system in the world is ECMWF's HRES, a configuration of IFS that produces global 10-day forecasts at 0.1° latitude and longitude resolution, in around an hour

@wolfram77
wolfram77 / notes-a-neural-network-algorithm-for-the-no-three-in-line-problem.md
Last active May 26, 2024 04:46
A neural network algorithm for the no-three-in-line problem : NOTES

This is a nice paper, where Tsuchiya and Takefuji discuss how they use N x N hysteresis McCulloch-Pitts neurons as processing elements for the no-three-in-line problem. They discover solutions for up to N = 25.


Literature review

For N > 20, many of the solutions to the no-three-in-line problem have been solved by a computer search. Rotation and reflection symmetry are used to reduce the search space.

Hopfield and Tank proposed the first neural-network approach to optimization problems. They applied sigmoid neural network to the travelling salesman problem. Szu used McCulloch-Pitts neural network for the same problem. To suppress the oscillatory behavior, the hysteresis neuron model has been introduced.

@wolfram77
wolfram77 / notes-word2vec-node2vec-graph2vec-x2vec-towards-a-theory-of-vector-embeddings-of-structured-data.md
Last active May 26, 2024 03:31
word2vec, node2vec, graph2vec, X2vec: Towards a Theory of Vector Embeddings of Structured Data : NOTES

Below are the important points I note from the 2020 paper by Martin Grohe:

  • 1-WL distinguishes almost all graphs, in a probabilistic sense
  • Classical WL is two dimensional Weisfeiler-Leman
  • DeepWL is an unlimited version of WL graph that runs in polynomial time.
  • Knowledge graphs are essentially graphs with vertex/edge attributes

ABSTRACT:

Vector representations of graphs and relational structures, whether handcrafted feature vectors or learned representations, enable us to apply standard data analysis and machine learning techniques to the structures. A wide range of methods for generating such embeddings have been studied in the machine learning and knowledge representation literature. However, vector embeddings have received relatively little attention from a theoretical point of view.

@wolfram77
wolfram77 / thesis-accelerating-pagerank-with-a-heterogeneous-two-phase-cpu-fpga-algorithm.md
Created March 31, 2024 14:20
Accelerating Pagerank With a Heterogeneous two Phase CPU-FPGA Algorithm : THESIS

I think I wrote a summary of this thesis, but I cannot find it anymore.

@wolfram77
wolfram77 / script-graph-mtx-add-self-loop.js
Created March 31, 2024 04:27
Add self-loops to a graph file : SCRIPT
const fs = require('fs');
const path = require('path');
const readline = require('readline');
// Read the header of a graph file.
async function readGraphHeader(pth) {
var fstream = fs.createReadStream(pth);
@wolfram77
wolfram77 / script-create-gist.js
Created December 25, 2023 02:09
Create gist for PDF files in a folder : SCRIPT
const cp = require('child_process');
const fs = require('fs');
const path = require('path');
const _ = require('lodash');
// Main function.
function main() {
for (var file of fs.readdirSync('./')) {
@wolfram77
wolfram77 / config-htoprc-3.0.5.ini
Created December 14, 2023 09:29
Default htoprc for htop 3.0.5 : CONFIG
# Beware! This file is rewritten by htop when settings are changed in the interface.
# The parser is also very primitive, and not human-friendly.
fields=0 48 17 18 38 39 40 2 46 47 49 1
sort_key=46
sort_direction=-1
tree_sort_key=0
tree_sort_direction=1
hide_kernel_threads=1
hide_userland_threads=0
shadow_other_users=0
@wolfram77
wolfram77 / script-convert-latex-to-markdown.js
Last active November 25, 2023 17:28
Convert LaTeX code to Markdown : SCRIPT
const os = require('os');
const fs = require('fs');
// Read a file.
function readFile(pth) {
var txt = fs.readFileSync(pth, 'utf8');
return txt.replace(/\r\n?/g, '\n');
@wolfram77
wolfram77 / notes-sling-a-near-optimal-index-structure-for-simrank.md
Last active September 27, 2023 14:19
SLING: A Near-Optimal Index Structure for SimRank : NOTES

In the paper "SLING: A Near-Optimal Index Structure for SimRank", Tian and Xiao present SimRank via Local updates and sampling (SLING), an efficient index structure which guarentees at most ε additive error, and answers single pair and single source SimRank queries in O(1/ε) and O(n/ε) time - which is near optimal. Further, SLING requires only O(n/ε) space and O(m/ε + n log ...) pre-computation time.

Tian and Xiao use √c reverse random walks, where at each step, we inspect the in-neighbors of current node and select one of them uniformly at random with a probability of √c, or stop with a probability of 1 - √c. Each √c walk has an expected length of 1/(1-√c). They then use hitting probabilities hˡ(i,k) and hˡ(j,k) to compute SimRank score s(i,j) with dₖ - a correction factor which represents the probability that two √c walks do not meet each other after the 0th step. They propose to pre-compute approximate versions of dₖ and hˡ(i,k) as the index, and use them upon query to es

@wolfram77
wolfram77 / notes-efficient-top-k-simrank-based-similarity-join.md
Created September 26, 2023 18:10
Efficient Top-K SimRank-based Similarity Join : NOTES

In the poster "Efficient Top-K SimRank-based Similarity Join", Wenbo Tao presents an algorithm to find k pairs of nodes with the largest SimRank values, using a random-walk based method. Tao limits random walks to five steps without loos of too much accuracy, and computes summation of one-way paths sim(a, x, l) using dynamic programming, where a is the source node, x is the target node, and l is the length of the path. Top-k SimRank-based similarity join problem can then be solved by identifying k pairs of vectors with the largest inner product values. This can be solved with the matrix compression method by Low et al. in O(nD^ξ), where ξ is the number of iterations. Their results show good performance improvement over SRJ Query by Zheng et al., which requires index building and selection of a threshold value.

Critical review

While Tao explores the problem of finding top-k SimRank values across the entire graph, Tao does not consider the problem of finding top-k SimRank values within