Sunday, March 19, 2017

We started reading the paper "Big Data and Cloud Computing: A survey of the State-of-the-Art and Research Challenges" by Skourletopoulos et al. This paper talks about the comparisons of data warehouse and big data as a cloud offering. IBM data scientists argue that the key dimensions of big data are : volume, velocity, variety and veracity.  A Big data as a service stack may get data from other big data sources, operational data stores, staging databases, data warehouses and data marts.  Zheng et al showed that the service generated big data included service logs, service QoS and service relationships in the form of services identification and migration. A cloud based big data analytics service provisioning platform named CLAaaS is presented in the literature to help describe the significant features of the workflow systems, such as multi-tenancy for a wide range of analytic tools and back-end data sources, user group customizations and web collaboration.
On the other hand, an admission control and resource scheduling algorithm is also proposed to satisfy the quality of service requirements of requests and that adheres to Service Level Agreement guarantees. Analytics can be taken a step further in a service oriented Decision Support System which has been detailed in Demirkan and Delen's study.  This study shows a Decision support system is best organized by data flowing from information sources through the data service tier  which in turn transforms it for information service tier and finally analytics service tier. 
The data sources can be arbitrary such as ERP, Legacy databases, POS, other OLTP,  and external data. The data service tier imports the data from information sources using Extract Transform Load operations into an Enterprise data warehouse which has metadata and replication set up as well. The data from this warehouse is fed into different data marts such as the Engineering Data mart, Marketing Data mart, Finance data mart. The information service consists of routine business reporting, OLAP, dashboards and Intranet search for content. With this information, all of the decision support service  in operations management can be performed such as Optimization, Data mining, Text mining, Simulation and Automated decision system . #codingexercise
Compute the binomial coefficient
int GetNChooseK(int n, int k)
{
if (k <0 || k > n) return 0;
if (n < 0) return 0;
return Factorial(n) / (Factorial(n-k) * Factorial(k));
}

We can also do this using dynamic programming approach
int GetNChooseKDP(uint n, uint k)
{
if (k == 0 || k == n)
    return 1;
return GetNChooseKDP(n-1, k-1) + GetNChooseKDP(n-1,k);

}
The factorial is also a dynamic programming but the binomial coefficient has a lot of overlapping subproblems so it is more efficient to directly express it with memoization.

No comments:

Post a Comment