|
-
August 5th, 2014, 10:25 AM
#12
Re: Moving from VC++ 6.0 to VC++.NET
 Originally Posted by razzle
Why don't you write it in MOPEKS instead? 
In 20 years that may be possible! MOPEKS works by finding a program that fits the data so here is some data
1, 1
9, 3
144, 12
Clearly, this is square roots and here is the program that MOPEKS came up with this morning from that data
Code:
double _stdcall SquareRoots(double R){
// Problem Description: '02 Square Roots'
// Generated by MOPEKS at 9.35 am on Tuesday 5th August 2014
// Initialise variables at zero
double ax = 0;
double bx = 0;
double cx = 0;
double dx = 0;
// 64 bits in Hex 1 2 3 4 5 6 7 8 9 10 11
// Type LHS EPrp Opr RHS1 Prop1 RHS2 Prop2 Goto Method Steps
Line1: ax = 3 - R; // &H9208B5C4187A8CBC 4 0 1 1 5 14 4 3 3 40 94
Line2: cx = R / ax; // &H18DBB330669188DB 0 2 27 3 4 25 0 12 4 24 109
Line3: ax = cx + ax; // &H1000080048200002 0 0 0 0 2 0 0 9 1 0 1
Line4: ax = ax / 2; // &H9009A0A7443D179E 4 0 1 3 0 5 7 8 1 81 79
Line5: if(cx < R / ax)goto line2; // &H5937F1B01820D033 2 2 6 3 4 13 0 3 1 13 25
out: return ax;
}
It can then go on to build a whole stack of programs using each program it has generated so far until you get something like:
Code:
Private Function R_Orbts_S_AntCl(ByVal R As Long, ByVal S As Long)
Dim ax As Double, bx As Double, cx As Double, dx As Double
1: ax = AnglSbtnddBy2Ob(S, R)
2: bx = 1 - 1
3: bx = ax + bx 'bx is the relevant angle to use so far ...
4: cx = DistBtwn2Objcts(R, S)
5: cx = R.Speed / cx
6: cx = cx / 2
7: cx = ATan(cx) 'cx is the angle correction (to allow for triangle)
8: bx = bx - cx 'bx is the relevant angle to use!
9: dx = Return180()
10: bx = bx + dx
11: ax = Cos(bx)
12: ax = R.Speed * ax
13: ax = ax + R.XAxis
14: ax ==> NextStep(R.XAxis)
15: ax = Sin(bx)
16: ax = R.Speed * ax
17: ax = R.YAxis - ax
18: ax ==> NextStep(R.YAxis)
End Function
I believe this is the correct route to artificial intelligence ... as a friend of mine remarked "if you are right, this is the most significant thing since the origin of life 4 billion years ago". So, no pressure
 Originally Posted by razzle
Just kidding but if it's MOPEKS we're dealing with here than it's most likely a combinatorial problem
Well, the programs evolve in a breeding pool and this is classic Genetic programming. Where I have extended it is the programs using each other and attach themselves to objects which interact in an environment - if you want to see more see the website. Bear in mind this is fully operational, you can download and install a fully working version for free - this is not about making money, it is about promoting an idea.
Once I have got the .net versions working the next step is a camera trained on an interactive situation (eg a billiard table) and it will derive programs that have predictive power ie which ball will go where and the ideal angle etc
 Originally Posted by razzle
Furthermore for a project like MOPEKS I don't think .NET is the optimal platform because it's not portable. I think you should seriously consider Java or a native C++ with Qt combination. It will work on many platforms including Windows too so why limit yourself to Windows only?
A bit late now - this has got 35,000 lines of code written by me and has taken me almost 20 years so I am stuck with what I have!
 Originally Posted by razzle
So don't just port. First come up with a feasible solution and then make a proper new design based on your experience with the old program. Otherwise the project is doomed. Good luck.
Well, maybe if others think the basic principles have merit but if I am the sole person working on it that will not happen - I will die of old age first!
MOPEKS - a freeware program that generates programs that use each other to solve problems. Is this the correct route to a genuinely intelligent machine?
Tags for this Thread
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|