Thursday 29 December 2016

Random BOINC stuffs

I've been supporting BOINC for a few years, but not until the beginning of this year that I've put a computer into computation consistently. Somehow one of the tasks my computer received discovered a new prime number -- 6082*627^34111+1 of 95422 digits long. Not very big but definitely my first discovery in the field of number theory. So allow me to grab the chance to talk about my thoughts on BOINC projects today...

First of all, why? Why am I joining BOINC? For science? Not really - I have absolutely zero interest on extraterrestrial existence [religious influence?] so I won't join those projects who really originates BOINC.

Medicine related projects? Yes I've joined the World Community Grids [WCGs] claiming to help cancers, Zika, AIDS and more. That's surely going to have a positive influence to the world, but given how the industry works I am not really expecting a breakthrough from the project even it's IBM who's managing it.

Physics? No thank you.

Mathematics? Well I somehow believe that Collatz conjecture is true, so it could be largely useless to find counterexamples. We have seen a similar case already -- the ABC conjecture, which was tested by the ABC@home project, now has a pending proof. Prime numbers related projects are kind of interesting, but I still have no idea on finding primes of a specific form that is too big for any practical use. Conjectures are often like, "xxx is true for all k less than ooo" but if ooo is small it is not easy to induce another further results from here. Algebraic structure related projects are then the most meaningful one to me, but I cannot make any further comments since I am not a specialist on algebra.

Proof by computation is surely one of the major modern tools, but besides the 4 colours theorem it is not often that you can find equally important result that is done by computation. And to me, there is no project available on mathematical statements that has enough importance to take my full computation power. So my answer is, for fun.

It's quite fun, isn't it? People now days are tired of crunching MMORPGs manually that they turn into idle games watching the numbers grow. This is simply another idle RPGs that let the numbers grow, only slightly unfriendly to the CPUs and GPUs. You can also make decisions on resource distribution - which project gives you the best reward per second - which can be much more complicated when you put realistic factors into consideration: which project produces less heat/consumes less electricity? Does my ventilation good enough?... no more than picking a suitable map in the RPG and grind properly by carefully choosing the monsters to fight.

Gridcoin or cryptocurrency has been an influential factor these days because it's bonded with BOINC credits and has real money value. People claim that it's the monetary motivation that pushes away people from projects doing `real science' [in their opinion] to some less meaningful projects that offer more credits. To me it does not really matter because gridcoin is never worth the bill of electricity that people consumed to crunch numbers, and given that bitcoin currently being a rather stabilized market [at least, in terms of electronic currencies, and comparing with other cryptocurrencies] I do see the feasibility that gridcoin develops into reliable means of trade. If so, that would be a fully commercialized model of BOINC and gridcoin - private institute issues points for people grinding that can be exchanged into money/prize/whatever. Of course at the end of the day 0.01 or 0.0001 dollar does not make any difference to small scale crunchers. Who cares?

So that's the deal. If you are one that enjoy watching numbers going up and down from some idle flash games/online games. I would recommend you to to join BOINC. Notice that those idel games do take a damn lot of CPU/RAM resources, doing absolutely meaningless work, while BOINC project is at least doing some minimal science, which is better than doing shit :)

Saturday 17 December 2016

A mind set of using linear algebra

Warning: Heavy use of LaTeX follows. Make sure you enabled Javascript to read those equations properly. It is highly recommended to enlarge the page so that the equations are not in congested form.

First of all, seasons greetings everyone. Let's see if I can get the customization article done before the end of 2016...


Readers probably know that I use linear algebra extremely heavily -- for casual blog posts, game studies, hardcore research and so on. It is really useful and it simplifies quite a lot of problems when you are stuck to prove it in a traditional way. You can find it in computational maths, topology, combinatorics, and now analysis.

Definition 1. Let $r\in \mathbb{N}_0$. Define $C^r$ to be the space of $r$-times differentiable functions, with the norm

$||f||_{C^r} = \sum _{|s|\leq r} ||D^sf||_{\infty}$

Definition 2. Let $r \in \mathbb{N}_0$ and $\alpha \in (0,1)$. Define $C^{r+\alpha}$ be the space so that the following equipped norm is finite:

$||f||_{C^{r+\alpha}} = \sum _{0\leq |s| < r} ||D^sf||_{\infty} + \sum _{|s|=r} H\ddot{o}l_{\alpha}(D^sf) < \infty $

Theorem 3. Some primitive results. There exist some constants $C>0$ so that:

1) If $f\in C^1$ then $||f||_{C^{\alpha}} \leq C ||f||_{\infty}^{1-\alpha} ||f||_{C^1}^{\alpha}$.

2) If $f\in C^{2+\alpha}$ then $||f||_{C^1} \leq C||f||_{C^{\alpha}}^{(\alpha +1)/2}||f||_{C^{2+\alpha}}^{(1-\alpha)/2}$.

In the rest of this article, $C$ represents some positive constants probably varying from line to line.

Proof. (1) is relatively easy to do using MVT:

$|f(x)-f(y)| = |f(x)-f(y)|^{1-\alpha} |f(x)-f(y)|^{\alpha}$

$\leq (2||f||_{\infty})^{1-\alpha}(||f||_{C^1}|x-y|)^{\alpha}$

$\leq C ||f||_{\infty}^{1-\alpha} ||f||_{C^1}^{\alpha}|x-y|^{\alpha}$

(2) involves some nasty analytical approximation so it will be skipped here.

We split the exponent $1$ into $(1-\alpha) + \alpha$, but what about harder interpolation estimates?