Skip to content

Commit

Permalink
mirror of website https://sites.google.com/site/kuja27 - draft public…
Browse files Browse the repository at this point in the history
…ations, written notes, photos, id(s), CVs etc.,
  • Loading branch information
Srinivasan Kannan committed May 31, 2018
1 parent 2ffcf4e commit b271d18
Show file tree
Hide file tree
Showing 59 changed files with 9,229 additions and 0 deletions.
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
\documentclass[11pt,onecolumn]{article}
\author{ Ka.Shrinivaasan (ka.shrinivaasan@gmail.com) }
\title{Analysis of a Randomized Space Filling Algorithm and its Linear Program Formulation}
\usepackage[T1]{fontenc}
\usepackage{ucs}
\usepackage{amsmath}
\usepackage[margin=1in]{geometry}
\usepackage{amsthm}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage[pdftex]{color,graphicx}
\usepackage{abstract}
\newtheorem{defn}{Definition}
\newtheorem{theorem}{Theorem}
\begin{document}
\thispagestyle{empty}
\pagestyle{empty}
\maketitle
\begin{onecolabstract}
In this article a grid gadget with binary contents is defined and a parallel algorithm to fill the grid coordinates with 1s is presented and its Linear Programming Formulation is analysed
\end{onecolabstract}

\section{Definition of a 2-dimensional Space Filling Grid Gadget}
Let S be a finite 2 dimensional grid space with coordinates denoted by (x,y) to uniquely choose a point in the grid. Let the length of the finite space S be $2^{log(N)/2}$ for N > 0 and breadth be $2^{log(N)/2}$ making it a square grid. Thus the total number of points in the grid are $2^{log(N)/2} * 2^{log(N)/2} = N$.Thus any tuple that uniquely identifies a point in the grid ranges from $(0,0)$ to $(2^{log(N)/2}, 2^{log(N)/2})$. Intially each point in the grid is set to 0. Goal is to find an efficient algorithm to set the maximum number of points in the grid to 1s(flipping 0 to 1 in that coordinate) or it can be above a threshold $K < N$. Some natural phenomena which use this grid filling algorithm:
\begin{enumerate}
\item Rainfall in which cloud "computes" the random coordinates on the earth to place the raindrops that too in parallel (this is an indefinitely parallel random coordinate computation which will be humongous task even for a supercomputer to simulate)
\item Randomly strewn sand with particles scattered at random points which again has a natural indefinite parallel computation of random coordinates.
\end{enumerate}

\section{Parallel Randomized Algorithm to Fill the Grid Gadget}
Naive algorithm to fill the grid is to sequentially scan the rows and set the coordinates to 1 from 0 till the threshold is reached.This gives a polynomial or linear time algorithm.This can be parallelized with a parallel pseudorandom generator that outputs pseudorandom bits in parallel. There are pseudorandom generators that can output pseudorandom bits in parallel through multiple processors, for example PRG explained in [Tygar-Reif] which is a Randomized NC algorithm(RNC) and the Chaos theoretic Pseudorandom generator variant of Tygar-Reif which used Lehmer's generator in each processor.

Let the number of parallel processors be $k*logN$ in Tygar-Reif RNC algorithm.By executing this parallel PRG, $k*logN$ pseudorandom bits are generated in parallel. This $k*logN$ bit string can be split into k strings of logN bit length each.Each of the logN bit string can be split into ordered pair 2-tuples of the form $<size(logN/2), size(logN/2)>$. This tuple $(x,y)$ denotes a coordinate point in the grid since grid is a square of side $logN/2$. Thus k ordered pairs are generated in parallel by Tygar-Reif RNC algorithm. Thus k coordinates in the grid can be set to 1 in parallel. Thus instead of a linear time sequential algorithm ,a randomized NC parallel algorithm for grid filling is obtained.

\section{Linear Programming and Grid Filling}

Each coordinate in the grid can be denoted by a unique variable $x_{i}$ where $ 1 < i< N$. Thus a linear program objective function can be defined as
\begin{equation}
Maximize ( x_{1} + x_{2} + ... + x_{N} )
\end{equation}
with N constraints being
\begin{enumerate}
\item $x_{1} \leq 1 $
\item $x_{2} \leq 1 $
...
\item $x_{N} \leq 1 $
\end{enumerate}

Though simplistic the above is in standard linear program format with objective function and constraints. It is a known result that Linear Programming is P-Complete which implies LP is not parallelizable unless $NC=P$. The Simplex Algorithm uses Gaussian Elimination with Partial Pivoting(GEPP) which is a P-Complete problem with no known NC algorithm. Above LP formulation is a special case of linear program with only free variables in the constraints. The RNC algorithm to fill the grid coordinates with 1(s) in parallel is an indirect way to set the free variables in the Linear Program for the grid to 1 in parallel and at random. Thus there is an RNC algorithm for a special case linear programming with free variables in constraints. But this may not imply an RNC algorithm for the P-Complete problem of GEPP used by Simplex algorithm.
\section{Acknolwdgement}

I dedicate this article to God.

\section{Bibliography}
\begin{thebibliography}{99}
\bibitem{pa} RANDOM NUMBER GENERATORS ARE CHAOTIC -Charles Herring and Palmore,CACM, Vol. 38, Nu. 1, Technical Correspondence. (Appeared in ACM SIGPLAN Notices, 11, October 1989)
\bibitem{pa} Efficient Parallel Pseudorandom number generation - Tygar and Reif, SIAM journal of computing,Vol 17 No.2,1988
\bibitem{pa} Tygar-Reif variant with Lehmer's Chaotic Linear Congruence Generator replacing the bit computing function in each processor
\bibitem{pa} Various resources on Chaos theory,non-linear dynamics and attractors
\bibitem{pa} Various Lecture Notes and Resources on Simplex algorithm
\bibitem{pa} Various Lecture Notes and Resources on P-Complete problems
\bibitem{pa} Various Lecture Notes and Resources on Gaussian Elimination with Partial Pivoting or Gauss-Jordan algorithm
\end{thebibliography}
\end{document}

Binary file added kuja27_website_mirrored/site/kuja27/CV.pdf
Binary file not shown.
85 changes: 85 additions & 0 deletions kuja27_website_mirrored/site/kuja27/CV.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
\documentclass[11pt,onecolumn]{article}
\author{ $ (also \quad known \quad as: Srinivasan Kannan, Ka.Shrinivaasan, Shrinivas Kannan)$ \\
$ (Research \quad Website: https://sites.google.com/site/kuja27/) $ \\
}
\title{K.Srinivasan}
\date{}
\makeatletter
\renewcommand{\@seccntformat}[1]{}
\makeatother
\usepackage[T1]{fontenc}
\usepackage{ucs}
\usepackage{amsmath}
\usepackage[margin=1in]{geometry}
\usepackage{amsthm}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage[pdftex]{color,graphicx}
\usepackage{abstract}
\usepackage{hyperref}
\newtheorem{defn}{Definition}
\newtheorem{theorem}{Theorem}
\begin{document}
\thispagestyle{empty}
\pagestyle{empty}
\maketitle

\section{About Myself}
Worked for various IT majors and startups for 18 years from 1999 and did Doctoral research in theoretical computer science till 2011. Presently working on a non-funded and not-for-profit opensource initiative and pursuing independent academic research.

\section{Academics}
\begin{enumerate}
\item[$\bullet$] B.A(Hindi)-Praveen Uttarardh- 1988-1992
\item[$\bullet$] B.E(Computer Science-PSGTech,Coimbatore)- 1995-99
\item[$\bullet$] MSc(Computer Science-CMI,Chennai)- 2008-10
\item[$\bullet$] JRF(PhD-Computer Science-CMI,Chennai-Incomplete)- 2010-11
\end{enumerate}

\section{Work- Consultant and Fulltime}
\begin{enumerate}
\item[$\bullet$] Associate Software Engineer - BaaN Infosystems (now SSA Global) - 1999-2000
\item[$\bullet$] Member Tech Staff - iPlanet (Sun Microsystems-Netscape Alliance) - 2000-2002
\item[$\bullet$] Member Tech Staff - Sun Microsystems (now Oracle) - 2002-2005
\item[$\bullet$] System Analyst - Verizon - 2005
\item[$\bullet$] Senior Software Engineer - webMethods - 2006-2007
\item[$\bullet$] Engineering Specialist - webMethods (now Software AG) - 2007-2008
\item[$\bullet$] Consultant and Architect - Global Analytics - 2011-2013
\item[$\bullet$] Consultant - PiQube Analytics (Clockwork Interviews) - 2013-2014
\item[$\bullet$] Architect - Cusdelight-CloudEnablers - 2015
\end{enumerate}


\section{Research Publications}
\begin{enumerate}
\item[$\bullet$] Decidability of Complementation - \url {http://arxiv.org/abs/1106.4102}
\item[$\bullet$] Algorithms for Intrinsic Merit - \url {http://arxiv.org/abs/1006.4458}
\item[$\bullet$] NIST TAC 2010 version of Algorithms for Intrinsic Merit - \\
\url {http://www.nist.gov/tac/publications/2010/participant.papers/CMI_IIT.proceedings.pdf}
\end{enumerate}

\section{Publication Drafts - Unguided and Unreviewed}
Independent academic research publication drafts expanded on previous publications - \url {https://sites.google.com/site/kuja27/}

\section{Open Source Initiative of Self - Krishna iResearch - 2003-present}
Presently working individually on research and development of non-commercial, non-funded open source copyleft dual-licensed initiative of self (no team or sponsor involved) - cloud, bigdata analytics and machine learning augmented new Linux Kernel fork-off $:$ \\
$NeuronRain \quad Research$ - \url {http://sourceforge.net/u/userid-769929/} \\
$NeuronRain \quad Enterprise$ - \url {https://github.com/shrinivaasanka/} \\
$NeuronRain \quad Documentation$ - \url {http://neuronrain-documentation.readthedocs.io/en/latest/}
which includes an open learning free courseware ( \url {https://github.com/shrinivaasanka/Grafit/tree/master/course_material}) and implementations of publications and drafts in \url {https://sites.google.com/site/kuja27/}.

\section{Detailed CV}
Details on work and academics - \url {https://sites.google.com/site/kuja27/CV\_of\_SrinivasanKannan\_alias\_KaShrinivaasan\_alias\_ShrinivasKannan.pdf}

\section{Contact Address}
172, Gandhi Adigal Salai, \\
Kumbakonam-612001 \\
Ph: 9791499106 \\
$ka.shrinivaasan@gmail.com, shrinivas.kannan@gmail.com, kashrinivaasan@live.com$

\section{Domain of Work - Development and Architecture}
Middleware(Web, Application, Messaging etc.,), Machine Learning, Bigdata Analytics, Linux Kernel, Cloud (Hadoop, Spark, CloudOSes), C/C++/Java/Python.

\section{Research Interests-Theory and Engineering}
Computational Number Theory Algorithms, Computational Linguistics, Natural Language Processing, Algorithms for Massive Datasets and Machine Learning, Computational Complexity of Majority Voting and related, Pseudorandomness, Program Analysis.

\end{document}
Binary file not shown.
Binary file not shown.

0 comments on commit b271d18

Please sign in to comment.