Showing posts with label mathematics. Show all posts
Showing posts with label mathematics. Show all posts

Tuesday, October 09, 2012

All the languages are just domain specific languages.

In a software engineer's terminology, mathematics is just another domain specific language. It was developed to suit a very specific set of needs of humans. Try expressing Love in mathematics. Try expressing Kangaroo in a non-australian-native language. And then try expressing a matrix of 1000 dimensions in mathematics.

But does that mean that spoken languages are also domain specific languages? Yes, they are. All the spoken languages can't express everything. They evolved to serve the local and specific needs. Try expressing Kangaroo in a non-australian-native language. Ty expressing a matrix of 1000 dimensions in English. And then try expressing Love in your mother tongue.

All the languages strive to be short, precise and sufficient to satisfy local needs.

Thursday, July 19, 2012

Zero

Zero is a wonderful concept we humans created to simplify our understanding of everything, it helps to build a world starting from anywhere(or nowhere ;)). Place that zero on your dining table and start imagining that bowl whose center of base coincides with the zero. That 3 dimensional world starts appearing spontaneously around that zero. In contrast imagine searching for that absolute zero in this never ending world before starting to build that bowl around it! Due to zero it has become so damn flexible to express ideas portably and modularly! Zero is everywhere and without it we wouldn't have come this far in expressing our ideas. So long with this relativistic and referential understanding of zero.

But...
Does zero exist only in referential domain? Is there an absolute zero somewhere where it all started in absolute form? If it really exists then everything is connected and related to each other with respect to that absolute zero! Time to return to the surface and breath normally. :)





Tuesday, July 03, 2012

Mean calculation based on previous mean value

mean_n(a) = ( 1/n ) * ( (n-1) * mean_n_1 + a )

where mean_n is mean of all numbers till a.
           mean_n_1 is mean of all numbers except a.

Now if the n is big then it can be approximated to: mean_n_1 + a/n.

The interesting part is (a/n). If a wants to participate in the mean calculation then it just needs to be divided into n portions and added to the previous mean(for n-1).

Friday, June 15, 2012

Programming language not based on boolean algebra

Programming languages are designed to be executed by a machine which understands Boolean Algebra. Naturally to express an idea in these programming languages one will have to totally unambiguous. Encapsulation and Abstraction concepts of prgramming languages try hard to hide or abstract the context in which the programmer tries to express something. But sooner or later it gets very complex.
Although I have very limited understanding of Fuzzy logic and similar mathematical/statistical concepts, but can we develop some programming language which is based on these foundations rather on Boolean Algebra? Or is it already there?
What I am vaguely imagining is a platform:
1. Is a composition of context bound expressions.
2. Would start with very contextual expressions and assume that they are correct and totally discrete and unambiguous.
3. Working towards the common goal of the program, when these expressions interact with others then there respective contexts should be corrected so that they make sense to each other.
4. The expressions remain the same and aren't corrected. The contexts are corrected.
5. It has to be iterative and evolving.
6. Not sure if the contexts should be aware of the bigger goal of the program. How will the contexts and their corrections align towards the main objective of the program?