Which "real-world" tasks can be solved with using Lorenz Attractor? - lorenz-system

I created a notebook with analysis of Lorenz Attractor and now I'm looking for practical tasks which can be solved with it. The reason why I need this is because without any practical tasks my notebook doesn't bring anything innovative and isn't eye-catching at all.
So, I just need ideas what for Lorenz Attractor can be used in "real-world" programming tasks

Related

How to run flashsim?

I recently came across papers based on Flash Aware Page replacement Algorithm. After going through a couple of them, I have created a new algorithm by modifying a few things within the previous algorithms. I now wish to test this algorithm against other existing algorithms and need help doing the same. I came across FlashSim recently. I compiled it but have no idea how to run my algorithm within it. If someone could provide me step by step instructions of how to go about this, it would be great.

Searching algorithm for mine detector

Basically I need to find an algorithm that will search a circular area for multiple mines minimising looking in the same place twice. The robot can start anywhere on the edge of the circle. I've looked into things like A* but all of them require knowledge of each goal before hand. The whole point of a mine detection robot is that the goals are unknown.Any cheap sensors can be used. Any suggestions?
just run a spiral?
it is not optimized at 100%, as te external circle will overlap a bit at the end, but it is the best for easy to write/debug (even visually).
For sensor it all depends on with kind of mine you are loking for. There are a lot of trick, like "minimum metal mine" (no metal detector will work on them) and so on.
I suggest you to use the Ant Colony Optimization algorithm for this task, although I'm not agree with you about "all of them require knowledge of each goal before hand", cause you can use as much as domain knowledge that is provided for you.
Here is a good place to start getting some information about the ACO (if required).
The reason that I suggest you ACO is it's intrinsic analogy with the problem you got.
If you provide more details about the problem I can tell you more about how to apply ACO to solve it (if required).

Job shop scheduling: which solutions should I consider?

Given a software company, where developers work in teams on a number
of different projects. Projects require a certain skill from assigned
developers. For my purposes, I want to keep it simple and limit this to one
skill, i.e. programming language. So some projects require Java, others require
C etc. Projects have a fixed duration, and each project should have two developers
assigned to it.
At any point in time, some projects are in progress and new projects come
in and need to be planned at some point in the future. I want to calculate a schedule of which developers should work on what project and when.
I'm not looking for the optimal solution (if that's even possible). I'm content
with a schedule a human manager could create.
I've read articles about Resource Constrained Scheduling Problems
and Assignment Problems, but I have very little formal CS training, and I'm
often lost in all the nuances in different variations of these problems.
I think my problem is a simpler variation of job shop scheduling where jobs are
projects, and developers are machines, so jobs require multiple machines at
the same time. There is only one precedent constraint, in that running projects
can't be aborted and so must be finished first.
From all the possible solutions I have read about, I'm inclined to use a
Genetic Algorithm, mainly because I've read people getting good results with
them and because I have used one a while ago for another project.
I've also read about good results with Linear Programming, but I know very little
about that.
Is a genetic algorithm a feasible solution for this type of problem? Or are there better solutions?
Create a bipartite graph with developers on one side and needed project members on the other. By "needed project members", I mean that if a project P needs 3 developers, you would add 3 nodes, perhaps named P0, P1 and P2.
Draw an edge between a developer and a needed project member if that developer has all the skills required by that project. Your problem then reduces to finding a matching within this graph; there are standard algorithms you could use to do this.
Using a genetic algorithm is a feasible approach, but it is very ambitious.
Start with a greedy algorithm.

how to get started with TopCoder to update/develop algorithm skills?

at workplace, the work I do is hardly near to challenging and doing that I think I might be losing the skills to look at a completely new problem and think about different ideas to solve it.
A friend suggested TopCoder.com to me, but looking at the overwhelming number of problems I can not decide how to get started?
what I want is to sharpen my techniques ( not particular language or framework ).
The only way to get started would be to pick problems. Division I is the more difficult division, so you will probably find that the division I medium and hard problems will be somewhat interesting and challenging (unless you are quite clever.)
If you check the event calendar, you can see what algorithm competition rounds are coming up in your time zone. The competitions have the added virtue of forcing you to read and analyze other people's code in the challenge phase, so even if you would just as soon practice without a clock, you may find them interesting.
TopCoder algorithm contests are a way to develop your coding speed. Solving any of the problems in the practice arena is difficult unless you already have knowledge of various algorithms.
The problems on Project Euler suffer from the same flaw. You already have to know the algorithms to solve the problems in a reasonable time frame.
What I would suggest is to pick a project that you're interested in, and pursue it as you have time. As an example, I'm currently learning how to work with the open street map tiles in an Eclipse rich client platform.
Try whit http://projecteuler.net Problems difficulty can be assumed by number of solvers.
I prefer this page, because it is language invariant and problems are really challenging
You need the experience of solving 2 problems in any online judge (like http://www.spoj.com, http://www.lightoj.com, http://www.codeforces.com) in any programming language of your choice. That will give you an idea about how are your programs tested online.
Then you can follow this -> http://localboyfrommadurai.blogspot.in/2011/12/new-to-topcoder.html

Fast FEM Solvers

What are the fast solvers for FEM equations? I would prefer open source implementation, but if there is a commercial implementation, then I won't mind paying for it.
Code Aster is an open source FE code. code aster
The pre- and post-processing is usually done with Salome - both originate from EDF.
How about FEAP. It has full source code available when you purchase it. It is pretty big project, maybe its too much for your needs, but check it out.
FEAP is a general purpose finite
element analysis program which is
designed for research and educational
use. Source code of the full program
is available for compilation using
Windows (Compaq or Intel compiler),
LINUX or UNIX operating systems, and
Mac OS X based Apple systems.
It has also a Personal Edition called FEAPpv available for free, including source code. Differences between those versions are listed in this pdf.
"brad"? do you mean "broad"?
you don't say if your problem is linear or non-linear. that'll make a very big difference.
the solver depends on the type of equation and the size of your problem. for elliptical pdes you can choose standard linear algebra techniques like lu decomposition, iterative methods like successive over relaxation, or wavefront solvers that minimize memory consumption.
some people like solving non-linear steady-state problems as if they were dynamics problems. the idea is to create "fake" mass and damping matricies and use explicit time integration to converge to steady state.
lots of choices. standard linear algebra is a good starting point.
language? java?
Oops, that's kind of a brad question.
Solving differential equations usually starts with analyzing equation itself. Some equations are notoriously difficult to solve efficiently, e.g. indifinite boundary problems.
So if you have something else than an elliptic problem, you'll might better prepare for hard times ahead.
Next important and crutial part is transfering the contiouus problem into a discrete mesh. Typically the accuracy of your results will vary with different ways to generate this mesh. You'll need some sound experience here.
So I'd say there is nothing like the fast slover for FEM equations. Anyway, while Wikipedia gives a short overview of the topic, you might perhaps also have a look a the german Wikipedia page. It lists well-known FEM implementations.
OpenFoam and Elmer are two open source solvers. Not sure about Elmer, but I think OpenFoam might uses the control volume approach.
I used OpenFOAM for fluid dynamics research. You can do parallel processing with it with MPI. And if you have a Cray T3E it will be fast!
It's open source :D
http://www.opencfd.co.uk/openfoam/features.html#features
Please have look for Deal.II open source library:
http://www.dealii.org/
They provide also VirtualBox image which comes pre-installed libs.

Resources