## Variational Autoencoder

2016/04/04

References about Variational Autoencoder:

- (in TensorFlow) https://jmetzen.github.io/2015-11-27/vae.html
- (VAE paper) http://arxiv.org/abs/1312.6114

reporting innovations in technologies

2016/04/04

References about Variational Autoencoder:

- (in TensorFlow) https://jmetzen.github.io/2015-11-27/vae.html
- (VAE paper) http://arxiv.org/abs/1312.6114

2016/02/03

Notice:

- the Dual-Pivot Quicksort by Vladimir Yaroslavskiy, Jon Bentley, and Joshua Bloch is different als 3-Way-Quicksort.
- This Dual-Pivot Quicksort is build in Java API above V7 as default algorithm for sorting arrays of primitives.
- The Default algorithm for sorting arrays of objects in Java API above V7 is Timsort.

In the java doc.

The sorting algorithm is a Dual-Pivot Quicksort by Vladimir Yaroslavskiy, Jon Bentley, and Joshua Bloch. This algorithm offers O(n log(n)) performance on many data sets that cause other quicksorts to degrade to quadratic performance, and is typically faster than traditional (one-pivot) Quicksort implementations.

In the google search result, Theory of quick sort algorithm:

- Pick an element, called a pivot, from the array.
- Reorder the array so that all elements, which are less than the pivot, come before the pivot and all elements greater than the pivot come after it (equal values can go either way). After this partitioning, the pivot element is in its final position.
- Recursively sort the sub-array of lesser elements and the sub-array of greater elements.

In comparison,dual-pivot quick sort:

- For small arrays (length < 17), use the Insertion sort algorithm.
- Choose two pivot elements P1 and P2. We can get, for example, the first element a[left] as P1 and the last element a[right] as P2.
- P1 must be less than P2, otherwise they are swapped. So, there are the following parts:

- part I with indices from left+1 to L–1 with elements, which are less than P1,
- part II with indices from L to K–1 with elements, which are greater or equal to P1 and less or equal to P2,
- part III with indices from G+1 to right–1 with elements greater than P2,
- part IV contains the rest of the elements to be examined with indices from K to G.
- The next element a[K] from the part IV is compared with two pivots P1 and P2, and placed to the corresponding part I, II, or III.
- The pointers L, K, and G are changed in the corresponding directions.
- The steps 4 – 5 are repeated while K ≤ G.
- The pivot element P1 is swapped with the last element from part I, the pivot element P2 is swapped with the first element from part III.
- The steps 1 – 7 are repeated recursively for every part I, part II, and part III.

Note : the content of this post is reposted from the following mentioned repost source.

Reference:

- (Repost Source) http://stackoverflow.com/questions/20917617/whats-the-difference-of-dual-pivot-quick-sort-and-quick-sort?answertab=active#tab-top
- (More about quicksort and its variants) https://en.wikipedia.org/wiki/Quicksort#Variants

2015/09/22

ZAB is an atomic broadcast algorithm, which orders and executes concurrent requests in a sequential manner.

It consists of two modes:

- Recovery: When the service starts or after a leader failure. Ends when a leader emerges and a quorum of servers have synchronized their state with the leader
- Broadcast: The leader is the server that executes a broadcast by initiating the broadcast protocol. Once a leader has synchronized with a quorum of followers, it begins to broadcast messages

Important related links:

- (All infos about ZAB) https://cwiki.apache.org/confluence/display/ZOOKEEPER/Zab+in+words
- (ZAB vs. Paxos) https://cwiki.apache.org/confluence/display/ZOOKEEPER/Zab+vs.+Paxos
- Elaboration of ZooKeeper with ZAB https://aphyr.com/posts/291-call-me-maybe-zookeeper
- (Raft, an simpler algorithm than ZAB for solving consensus in asynchronous distributed system model) https://www.quora.com/If-Raft-is-as-good-as-the-papers-claim-why-do-Zookeeper-and-others-implement-other-consensus-algorithms-Why-not-use-Raft

2015/09/21

Paxos is an algorithm to achieve consensus in asynchronous distributed system model. More about Paxos can be found unter:

- Schneider, Fred (1990). “Implementing Fault-Tolerant Services Using the State Machine Approach: A Tutorial.” ACM Computing Surveys 22: 299
- The Part-Time Parliament, Leslie Lamport, http://research.microsoft.com/en-us/um/people/lamport/pubs/lamport-paxos.pdf
- Paxos Made Simple, Leslie Lamport, 2001. http://research.microsoft.com/en-us/um/people/lamport/pubs/paxos-simple.pdf

2015/08/10

A reference to Left-leaning Red-Black Trees by Professor Robert Sedgewick:

https://www.cs.princeton.edu/~rs/talks/LLRB/LLRB.pdf

More Information about Red-Black Trees implementation are also available at:

http://algs4.cs.princeton.edu/home/