Public Articles
Fibonacci Numbers
Fibonacci numbers in discrete mathematics are a sequence of
numbers that satisfy a linear recurrence relation. The first few Fibonacci numbers are
\(0,1,1,2,3,5,8,13,21,...\) By definition, the first two Fibonacci numbers are either \(0,1\) or \(1,1.\)
As you can see, by adding the two previous consecutive numbers
in the sequence, one can generate the next numbers in this sequence using this method. The general rule of the Fibonacci sequence satisfies the
second-order recurrence relation pictured below:
Blog Post 4
1 $\underline{\text{Recurrence Relations}}$ Throughout one’s education and as one progresses through grade levels, a common math problem that students are faced with are puzzles in which they have to determine what number comes next in a sequence. For example, a teacher may ask a student to fill in the missing number given the following:
\[ 1,4,5,9,14 \underline{\hspace{1cm}}, ... \]
A student may then notice a pattern of adding the two terms before to get to the next. This idea, at its very core, is an illustration of a recurrence relation.
Defined mathematically, a recurrence relation is an equation in which the next term in the sequence is dependent upon or acts as a function of the previous term(s).
Using the case above, and applying it to recurrence relations, we would write the relation as: an = an − 1 + an − 2 where the initial conditions are a0 = 1 and a1 = 4.
Some of the more well known examples from the study of discrete mathematics include the Fibonacci sequence as well as binomial coefficients. While the Fibonacci sequence defined by Fn = Fn − 1 + Fn − 2 where F1 = F2 = 1 is fairly easy to recognize as a recurrence relation, binomial coefficients are not primarily described in this way. However, we see from the following illustration that they can, indeed, be accepted as following a recurrence relation. \[ {n \choose k} = {n-1 \choose k-1} + {n-1 \choose k} \]
A game that has been derived from the idea of recurrence relations that some may find entertaining is called the Tower of Hanoi. This was invented by Edouard Lucas in 1883. If this name sounds familiar, it is because Edouard Lucas is more famously known for his recurrence relation called the Lucas Numbers, which follow the same relation as the Fibonacci sequence. In this game, there are a certain number of disks and three “towers.” The objective is to move all the disks stacked on one tower over to another without placing larger disks on smaller ones. An illustration can be seen as such:
Flexible On-Stack Replacement in LLVM
and 1 collaborator
On-Stack Replacement (OSR) is a technique for dynamically transferring execution between different versions of a function at run time. OSR is typically used in virtual machines to interrupt a long-running function and recompile it at a higher optimization level, or to replace it with a different one when a speculative assumption made during its compilation no longer holds.
In this paper we present a framework for OSR that introduces novel ideas and combines features of existing techniques that no previous solution provided simultaneously. New features include OSR with compensation code to adjust the program state during a transition and the ability to fire an OSR from arbitrary locations in the code. Our approach is platform-independent as the OSR machinery is entirely encoded at a compiler’s intermediate representation level.
We implement and evaluate our technique in the LLVM compiler infrastructure, which is gaining popularity as Just-In-Time (JIT) compiler in virtual machines for dynamic languages such as Javascript, MATLAB, Python, and Ruby. As a case study of our approach, we show how to improve the state of the art in the optimization of the instruction, a performance-critical construct of the MATLAB language.
EBH Notes
Bezout's Theorem
Inclusion-Exclusion and The Movies
Who doesn’t love a great movie? James Franco, Jonah Hill, and Seth Rogen have been in some funny movies, but how many movies are there that any one of these actors are in? Our first guess might be to add all the movies all three of them have been in. But that will not only include movies that one of the actors was in, it will also include movies that starred two or three of them. For this problem, we will need to use the principle of inclusion-exclusion.
Let’s first review the rule of sum: “The rule of sum states that if an action is performed by making A choices or B other choices, then it can be performed A + B ways.” (Benjamin, 8)
So the reason we cannot simply add the list of movies for each of these actors is because we know that they share some of the same movies. The two lists must be distinct in order for us to directly add them.
Take a look at the picture below:
Critique of Graph Cluster Randomization: Network Exposure to Multiple Universes
In this paper I will be reviewing and evaluating the work of Johan Ugander and Jon Kleinberg (both from Cornell University) and Brian Karrer and Lars Backstrom (both from Facebook), entitled Graph Cluster Randomization: Network Exposure to Multiple Universes, presented at the 2013 International Conference of Knowledge DIscovery and Data Mining. After a brief summary of the paper and its findings, I present the author's background and related previous work - to find that graph cluster randomization proves to be a truly useful method for social networks and has a wide array of future applicability. Subsequenlty I conduct a brief overview of related work and possible improvements, followed by my personal reflections and suggested future work pathways. I finish with a brief conclusion.
Blog Post 3
1 $\underline{\text{Fibonacci Sequence}}$ According to some accounts, Fibonacci is regarded as one of the most famous names in mathematics. It was Fibonacci, also known by the name Leonardo Pisano, that helped popularize our modern number system in the Latin-speaking world (Knott, 2013). However, he is more widely recognized for what we now call the Fibonacci Sequence. It was when he was contemplating the reproduction of rabbits, and trying to calculate how many pairs of rabbits there would be in one year, that Fibonacci came across the formula, which will become familiar: xn + 1 = xn + xn − 1.
This recurrence relation was used to define the Fibonacci Sequence as such: Fn = Fn − 1 + Fn − 2 where F1 = F2 = 1. Calculating the first few terms we see the numbers 1, 1, 2, 3, 5, 8, 13, 21.... These numbers are called the Fibonacci numbers.
These numbers appear in a plethora of areas from nature, art, geometry, etc. A few examples of where these numbers occur include the following:
Honeybee colonies
Spirals and shells
Plants and flowers
ECE 4460B – Laboratory Report 2 Introduction to Synchronous Interrupts
The hardware and software used in this experiment are listed below:
Hardware
Computer with a USB port and compatible with Windows 7;
Development board Wildcat 2000.
Software
Dynamic C 9.62;
Real-time operational system kernel μC/OS-II;
Codes provided by the laboratory instructions and the official course website.
This experiment were realized in a closed and dry laboratory environment at room temperature (26 ± 1) °C, which allows all instruments and components operating within their warranty temperature range stipulated by their manufacturers.
Multichoose
Wolfram Alpha defines multichoose as follows, “The number of multisets of length k on n symbols is sometimes termed n multichoose k, denoted $\left(\binom{n}{k}\right)$ by analogy with the binomial coefficient $\binom{n}{k}$ n multichoose k is given by the simple formula $\left(\binom{n}{k}\right)=\binom{n+k-1}{k}=\left(n-1,k\right)!$, where (n − 1, k) is a multinomial coefficient” (Wolfram).
What is so special about multichoosing is that it can be used for counting problems where order does not matter and repetition is allowed.
Another term one might often hear used in place of a multichoose problem is a “stars and bars” problem. In fact, if you’re ever in a pinch you should be able to come up with the multichoose formula just from the stars and bars method.
The WiggleZ Dark Energy Survey: Analyzing the Anisotropic Baryonic Acoustic Signature in the Galaxy Clustering
and 3 collaborators
Oh, an empty article! joy!
We obtain the most awesome result of all time. We just need time to write it up ...
Rule of Sum
The rule of sum in discrete
mathematics is a way to count a set of objects into independent elements. The
rule of sum presents an idea that if one situation can occur in \(A\) ways and
another situation can occur in \(B\) ways, then there are \(A+B\) ways that one of
these types of situations may occur.
For example, a restaurant
serves fifteen entrees that contain meat, five entrees that contain fish and
three vegetarian entrees. How many dinners are there to choose from?
The rule of sum is applied
here because each entrée contains either meat or fish or is vegetarian. So we
have \(15+5+3=23.\)
Useful links of journals
Nature
Science
Proceedings of the National Academy of Sciences
Nature Communications
Nature Physics
Physical Review Letters
Applied Physics Letters
Nature Chemistry
Journal of American Chemistry Society
Analytical Chemistry
Nature Materials
Advanced Materials
Advanced Functional Materials
Nature Nanotechnology
Nano Letters
ACS Nano
Lab on a Chip
Physics of Fluids
Journal of Fluid Mechanics
The Principal of Mathematical Induction
Mathematical induction is used in mathematics to prove many
statements, in particular it is used to prove statements, theorems, or even formulas
that are asserted by all natural numbers. When we say “all” natural numbers it
means any natural number that we may possibly come across on. In order to prove
by mathematical induction, we must first go over some very important rules.
Heuristic Approach for the Bushy Tree Implementation on Apache Derby Query Optimizer
and 2 collaborators
Query optimization is one of the most important steps in relational databases. Almost all the relational database systems such as MySQL, Postgres, Oracle DB, Apache Derbyconsist of query optimizers. Major challenge in query optimization is deciding optimum plan to execute join query. According to some researches that has been conducted related to this problem, left-deep tree and bushy trees are two main approaches to solve the problem\cite{opt1}. Apache Derby is a relational database entirely written in java. Currently Apache Derby optimizer only consider left-deep tree in its query processing. Our approach is to implement bushy tree support for derby optimizer.However research has shown that constructing bushy tree execution plans is NP hard\cite{opt2}. Therefore we are introducing heuristics that would minimize evaluations time significantly
Topical Evenlope of Tweets via Hashtag Classification
With over 300 million registered users producing over 500 million tweets per day\cite{_twitterStats}, Twitter has became one of the largest and most popular microblogging websites. To cope with the volume of information shared daily, Twitter has introduced hashtags, keywords prefaced with “#”, to help users categorize and search for tweets, which provide a way for a user to indicate the subject of a tweet in a way that is easy to search for as featured index. However, not all the hashtags are in a “good” format. For example, when a big event just happened, some of the hashtags were not represented in a uniform way or missed some keywords. To retrieve all the information related to this big event, it asks for classifying the tweets and reproducing relatively uniform hashtags. To made this task reachable, I made a simple assumption that a top trends tweet’s hashtag content is a good approximation of its total content\cite{rosa_topical}.
In this paper I present an algorithm to learn the relationships between the literal content of a tweet and the types of hashtags that could accurately describe that content. To better classify each tweet, I need to overcome problems of text cleaning, dimensionality reduction, and multi-class categorization.
Existence of positive solutions for an approximation of stationary mean-field games
and 22 collaborators
Multichoosing
How many ways can you distribute \(20\) identical cupcakes to \(8\)
hungry children? How many ways can you give out \(15\) identical cookies to \(4\)
children if each child must have at least \(3\) cookies?
All of these questions revolve around the topic of
multichoosing. Multichoosing in discrete mathematics is another counting
problem. In multichoose problems, order is not important and repetition is allowed.
Multichoosing is denoted \(\left(\binom{n}{k}\right)\) where \(\left(\binom{n}{k}\right)\) means the amount of ways to
choose length \(k\) multisets from a set of \(n\) objects. In general \(\left(\binom{n}{k}\right)\) is where we may
say “\(n\) multichoose \(k\).” Notice this is a resembalance with the binomial coefficient
\(\binom{n}{k}.\)
Rule of Product
The Rule of Product goes by other names such as the Multiplication Principle or Sequential Rule. It is a multiplication based rule one follows in certain counting procedures.
“The rule of product states that if an action can be performed by making A choices followed by B choices, then it can be performed AB ways” (Benjamin, 2009).
In other words suppose there exists a set of A choices and a set B choices, multiplying AB will be the number of ways to do A and B. As a side note, notice the word “and”, this can often be a queue word for situations were one might find need for The Rule of Product.
Independence of a sets is also required when The Rule of Product is in play. That simply means that a set A and set B from earlier are completely separate.
Moreover, this rule extends to any number of sets. Meaning if we have a set A, B, C, and D they can still be multiplied ABCD.
So lets look at a simple example.
Pascal's triangle
Pascal’s triangle is filled with patterns that can solve
many mathematical problems. One of the neat things that the triangle can do is help with
binomial expressions. First let’s take a look at binomial expressions. Binomial expressions relate to the sum or difference of two
terms such as:
2 things you need to do so your resolutions make you feel like a queen
Stirling Numbers
Stirling numbers of the second kind in discrete mathematics
are used to show numerous combinatoric properties like partitioning a set, (a
number of ways to write an integer of a set), and forming a recurrence relation.
Blog Post 2
1 $\underline{\text{Pascal's Triangle}}$ In discrete mathematics, Pascal’s triangle is the arrangement of binomial coefficients in such a way that a triangle is formed. Although such a pattern was studied centuries before his time, we refer to Pascal’s triangle in relation to Blaise Pascal, a French mathematician. The triangle was originally developed by the ancient Chinese, but Pascal was the first person to discover the importance of all of the patterns that occur within it. His work allegedly stemmed from the popularity of gambling. After considering a question asked to him about gambling with dice, Pascal’s Arithmetical Triangle resulted.
The triangle is created by starting at the top, row 0, with the number 1. Each row afterwards begins and ends with 1 and the pattern follows that as you move through the row, you add the number above and to the left with the number above and to the right for any given position. A portion of Pascal’s triangle is shown below.