Monday, March 20, 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, Analytics was described in a service oriented Decision Support System  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.
There has been some effort in cost benefit analysis in cloud and mobile computing environments but there has been little or no effort in the area of evaluation and classification of big data as a service model.  There have been efforts to examine the cost benefit of extending cloud computing with clusters or to calculate the TCO or for the economic efficiency of the cloud.
#codingexercise
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));
}
uint Factorial(uint n)
{
 if (n <= 1) return 1;
 return n * factorial(n-1);
}
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);

}
Find the number of strings that can be formed from letters a,b and c such that b occurs only once and c occurs only twice.
int GetCount(string A, ref stringbuilder b, int start, int level, int n)
 
for (int I = start; I < n; I++)  
  
for (int k = 0; k < 3; k++)  {
     if (b.length == n) {console.writeline(b); return;}
     if (b.count(x => x == 'b') == 1) {return;}
     if (b.count(x => x == 'c') == 2) {return;}
     b[level] = A[k];  
    if (I < n)  
           GetCount(A, ref b, start+1, level+1, n);  
     b[level] = '/0';  
}
 
} 
the above method could also be modified by concatenating or skipping the current letter in a sequence of abc repeated n times.

No comments:

Post a Comment