Re: [agi] More Info Please

2008-05-26 Thread J. Andrew Rogers


On May 26, 2008, at 5:52 PM, Mark Waser wrote:


That you have less than a two-to-one market share and it's dwindling?



I have ~100% market share.  Not sure how it is two-to-one or  
dwindling, though I suppose it has nowhere to go but down.



That technically .Net has blown past you and the gap only shows  
signs of widening?



I concern myself with big server apps, and I am not sure what  
this .NET gap is. Which Silicon Valley companies are developing their  
server infrastructure using .NET? Other than Microsoft (presumably), I  
cannot think of any. When companies want server bindings and drivers,  
they ask for C++, Java, and (god help us) PHP. I have never had anyone  
anywhere in government or industry ask for .NET.  I am sure they exist  
and it will happen eventually but the avalanche of demand is not  
there, probably because virtually no one uses .NET on Linux.




 That when Mono reaches the next version, you're going to switch?



Seems unlikely, since it does not offer anything of value for anything  
I might do. C is faster and more scalable for server engines,  
particularly for server clusters; if you are going to write that much  
unmanaged code, you might as well bind it to a super-productive  
language like Python.  Is Microsoft porting Visual Studio to Unix/ 
Linux in the near future? I already get a really fancy Unix  
development environment from Apple for free, though it does not  
support .NET.


J. Andrew Rogers



---
agi
Archives: http://www.listbox.com/member/archive/303/=now
RSS Feed: http://www.listbox.com/member/archive/rss/303/
Modify Your Subscription: 
http://www.listbox.com/member/?member_id=8660244id_secret=103754539-40ed26
Powered by Listbox: http://www.listbox.com


Re: Competitive message routing protocol (was Re: [agi] Deliberative vs Spatial intelligence)

2008-05-26 Thread J. Andrew Rogers


On May 1, 2008, at 10:06 AM, Matt Mahoney wrote:

--- J. Andrew Rogers [EMAIL PROTECTED] wrote:


Your model above tacitly predicates its optimality on a naive MCP
strategy, but is not particularly well-suited for it.  In short, this
means that you are assuming that the aggregate latency function for a
transaction over the network is a close proxy for the transaction
cost.  At one time this might have been a reasonable assumption, but
it becomes less true every year.


That's true in my thesis but I dropped it in my CMR proposal.  Now I
assume that peers operate in a hostile environment.  A message could  
be

anything.  The protocol has to work even over unreliable UDP with
forged source IP addresses.  The problem is sort of like building a
brain out of neurons that are trying to kill each other.



(Yes, late. I do not have much free time.)

A brain where all the neurons are out to kill each other is a proper  
metaphor for the design problem. In real protocols, every time someone  
posited benevolence for some aspect it was promptly exploited.



In my thesis, I asked whether it was possible even in theory to  
build a

large scale distributed index.  None existed in 1997 and none exists
today.  The best known examples of internet wide databases were  
USENET,
which uses O(n^2) storage, and DNS, which is O(n) (assuming it grows  
in

depth with constant branching factor, although it doesn't really) but
is vulnerable at the root servers.  Centralized search engines are  
also

O(n^2) because you need O(n) servers for n clients.  This creates an
incentive for engines to merge to save resources, resulting in a
monopoly.  (Who has the resources to compete with Google?)



There is an increasingly strong political incentive (between  
countries) to create distributed indexes, but quite frankly the  
technology does not exist. This was something I studied in earnest  
when various governments started demanding such guarantees. To the  
best of my knowledge, we do not have mathematics that can support the  
guarantees desired, though decentralized indexes are certainly  
practical if one ignores certain considerations that are politically  
important.


Something to understand about the big server clusters: as commonly  
implemented, the online server cluster is independent of the content  
generation cluster. Queries may be very cheap to serve even if the  
aggregation and analytics process is expensive. Compute a result once  
and serve it to the world a thousand times. The real problems occur  
when the data set is not sufficiently static that this trick is  
plausible. Fortunately, no one has noticed the man behind the curtain  
(yet).


Losing to Google is predicated on following their path, and they  
occupy a space where the computer science is transparently  
inadequate.  It does not take much of a qualitative shift in the  
market to kill a company in that position. There is plenty of  
vulnerability left in the market.


I would argue, from a business perspective, is that most of the value  
with respect to distribution is in the metadata protocol, virtually  
all of which are based on naive designs that ignore literature in  
practice. A really strong metadata protocol that could be standardized  
would generate a hell of a lot of value.  Past that, whoever controls  
the essential data under that protocol would win, and for better or  
worse, Google is largely not responding to this. There are many types  
of data they have no capacity to handle in bulk. This is not so much a  
criticism of Google but an observation about their actual behavior.


Cheers,

J. Andrew Rogers



---
agi
Archives: http://www.listbox.com/member/archive/303/=now
RSS Feed: http://www.listbox.com/member/archive/rss/303/
Modify Your Subscription: 
http://www.listbox.com/member/?member_id=8660244id_secret=103754539-40ed26
Powered by Listbox: http://www.listbox.com


Re: [agi] More Info Please

2008-05-26 Thread Mark Waser

I'm sorry, I don't know what you mean by sane languages . . . .

- Original Message - 
From: Lukasz Stafiniak [EMAIL PROTECTED]

To: [EMAIL PROTECTED]; agi@v2.listbox.com
Sent: Monday, May 26, 2008 7:45 AM
Subject: Re: [agi] More Info Please




On Mon, May 26, 2008 at 1:26 PM, Mark Waser [EMAIL PROTECTED] wrote:


What I'd rather do instead is see if we can get a .NET parallel track
started over the next few months, see if we can get everything ported, 
and
see the relative productivity between the two paths.  That would provide 
a

provably true answer to the debate.


There are also sane languages using the C++ object model
(http://felix-lang.org/). And there is Mono, though I've heard it
falls behind .NET considerably in terms of efficiency. The thing is,
will multi-language sourcing be encouraged? (Will every contributor be
allowed to write in his language, provided it compiles with the rest?)

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
OpenCog.org (Open Cognition Project) group.

To post to this group, send email to [EMAIL PROTECTED]
To unsubscribe from this group, send email to 
[EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/opencog?hl=en

-~--~~~~--~~--~--~---







---
agi
Archives: http://www.listbox.com/member/archive/303/=now
RSS Feed: http://www.listbox.com/member/archive/rss/303/
Modify Your Subscription: 
http://www.listbox.com/member/?member_id=8660244id_secret=103754539-40ed26
Powered by Listbox: http://www.listbox.com


Re: [agi] More Info Please

2008-05-26 Thread Ben Goertzel
mark,

 What I'd rather do instead is see if we can get a .NET parallel track
 started over the next few months, see if we can get everything ported, and
 see the relative productivity between the two paths.  That would provide a
 provably true answer to the debate.

Well, it's an open-source project, so to each his own...

However, at this point, folks working on OpenCog stuff under the

-- GSoC
-- SIAI
-- Novamente

organizations are going to be working on the current, actually existing
C++ implementation

IMO, the vast majority of work in this sort of project has to do with fiddling
with the AI algorithms to make them work right, rather than nuts-and-bolts
engineering, so I'm not sure the choice of language is going to make that
much difference ... except that with C++ it's obviously  more possible to make
the code efficient where it needs to be.  (Features like template
metaprogramming
are great but of course one can live without them.)   And in the current phase,
killer efficiency is not going to make much difference either, while we're still
working out algorithm details.  The potential for killer efficiency
will come into
play a little later once the main issue is scaling rather than algorithm
refinement.

I would much rather see work go into working out the various algorithmic
details that are left pending by the OpenCog Prime documentation (not yet
released by me, alas... and spending time on these emails doesn't help...)
than on reimplementing the same code in multiple programming languages.

But as an open-source project there is the opportunity for multiple forks
and directions.

In the event that a C# fork does get off the ground, it would be nice if things
were worked out so that C++ MindAgents could act on the C# core.  Ultimately
the deeper code goes in the MindAgents not in the core system anyway, in
the OpenCog design.  If the same MindAgents could be used in both cores
then having two cores would not impede development much, and might even
accelerate it if it allows developers to do more work in their
preferred languages
and development environments.

-- Ben G


---
agi
Archives: http://www.listbox.com/member/archive/303/=now
RSS Feed: http://www.listbox.com/member/archive/rss/303/
Modify Your Subscription: 
http://www.listbox.com/member/?member_id=8660244id_secret=103754539-40ed26
Powered by Listbox: http://www.listbox.com


Re: [agi] More Info Please

2008-05-26 Thread Stephen Reed
Regarding the best language for AGI development, most here know that I'm using 
Java in Texai.  For skill acquisition, my strategy is to have Texai acquire a 
skill by composing a Java program to perform the learned skill.  I hope that 
the algorithmic (e.g. Java statement  operation) knowledge that I teach it 
will be eventually portable to source code generation in machine language for 
the x64 architecture.  One might hope that by initially teaching the register 
set, machine instructions, and cache-line characteristics for x64, the code 
generation might subsequently  learn to perform many of the static and dynamic 
(e.g. execution profiling based) optimizations employed by the best compilers.

Given algorithmic knowledge, it should be possible, for example, to avoid the 
need for type inference, or escape analysis to determine which objects can be 
allocated from the stack versus the heap.  Likewise, algorithmic knowledge 
should enable the identification of single threaded code in which objects can 
be statically allocated or simply kept in a register.  What I am suggesting is 
that compiler optimization is a skill, and that skill could be taught to an AGI 
- having the ability to learn by being taught.

While I enjoy reading about, and sometimes participating in, a programming 
languages discussion, I suppose that what language an AGI should author is also 
interesting.

Cheers.
-Steve

 Stephen L. Reed


Artificial Intelligence Researcher
http://texai.org/blog
http://texai.org
3008 Oak Crest Ave.
Austin, Texas, USA 78704
512.791.7860



- Original Message 
From: Vladimir Nesov [EMAIL PROTECTED]
To: agi@v2.listbox.com
Sent: Monday, May 26, 2008 7:48:29 AM
Subject: Re: [agi] More Info Please

On Mon, May 26, 2008 at 3:42 PM, Mark Waser [EMAIL PROTECTED] wrote:

 And what is the value proposition of Java over any other language?  It has
 no unique features.  It's development is lagging.  It's developers are
 defecting (again, look at the statistics).  It's fragmenting just like Unix
 so it certainly isn't as portable as claimed.


Java is clear and understandable, with clean semantics so that you can
refactor the code without breaking it and IDE knows its way around the
codebase, has garbage collection, a bit of functional programming
stance, is fast enough, has decent infrastructure and everybody knows
it. A bit verbose, but I haven't found it to be a serious problem. If
you don't need fragmented odd parts, it's sufficiently portable. If
you decide between .NET and Java, tradeoff is more subtle, as they are
essentially the same thing, except that .NET is not open and more
bloated -- which is more important for a particular project? I guess
openness outweighs is for an open-source project.

-- 
Vladimir Nesov
[EMAIL PROTECTED]


---
agi
Archives: http://www.listbox.com/member/archive/303/=now
RSS Feed: http://www.listbox.com/member/archive/rss/303/
Modify Your Subscription: http://www.listbox.com/member/?;
Powered by Listbox: http://www.listbox.com



  


---
agi
Archives: http://www.listbox.com/member/archive/303/=now
RSS Feed: http://www.listbox.com/member/archive/rss/303/
Modify Your Subscription: 
http://www.listbox.com/member/?member_id=8660244id_secret=103754539-40ed26
Powered by Listbox: http://www.listbox.com


Re: [agi] More Info Please

2008-05-26 Thread Bob Mottram
2008/5/26 J. Andrew Rogers [EMAIL PROTECTED]:
 Europe specifically excludes .NET as a development target for similar
 pragmatic reasons. And developing .NET is going to suck on a non-Windows
 workstation, eliminating one of the major advantages you tout. To be honest,
 I do not know of anyone that uses a Mac that is using it for .NET
 development -- total impedance mismatch.


On Linux the performance of 3D distributed particle SLAM (a CPU
intensive task) running on the Mono .NET (version 2) runtime is
marginally faster than the same code running on Windows using the MS
runtime, but only by a few milliseconds.  Performance benchmarks are
very similar to the same algorithms written in C++ and compiled with
gcc.

The advantages being advertised for C# (i.e. new functional
programming features) only apply to .NET 3 or above, which isn't
available on GNU/Linux systems and so is of no interest to me at this
point.

Arguments about programming languages are a popular topic on AI
forums, but usually generate more heat than light.


---
agi
Archives: http://www.listbox.com/member/archive/303/=now
RSS Feed: http://www.listbox.com/member/archive/rss/303/
Modify Your Subscription: 
http://www.listbox.com/member/?member_id=8660244id_secret=103754539-40ed26
Powered by Listbox: http://www.listbox.com


[agi] Design Phase Announce - VRRM project

2008-05-26 Thread William Pearson
VRRM  - Virtual Reinforcement Resource Managing Machine

Overview

This is a virtual machine designed to allow non-catastrophic
unconstrained experimentation of programs in a system as close to the
hardware as possible. This should allow the system to change as much
as is possible and needed for the application under consideration.
Currently the project expects to go to the operating system level
(including experimentation on schedulers and device drivers).  A
separate sub-system supplies information on how well the experiment is
going.  The information is made affective by making it a form of
credit periodically used to bid for computational system resources and
to pass around between programs.

Expected deployment scenarios

 - Research and possible small scale applications on the following
 - Autonomous Self-managing robotics
 - A Smart operating system that customises itself to the users
preferences without extensive knowledge on the users part

Language - C

Progress

Currently I am hacking/designing my own, but I am open to going to a
standard machine emulator if that seems easy at any point. I expect to
heavily re-factor. I am focussing on the architectural registers,
memory space and memory protection first and will get on to the actual
instruction set last.

I'm also in parallel trying to design a high level language for this
architecture so the internals initial programs can be cross-compiled
for it more easily.

Current Feature plans

 - Differentiation between transient and long term storage to avoid
unwanted disk thrashing
 - Unified memory space
 - Capability based security between programs
 - Specialised Capability registers as well as floating point and integers
 - Keyboard, mouse and display virtual devices as well as extensible
models for people to build their own

Comments and criticisms welcomed.

  Will Pearson


---
agi
Archives: http://www.listbox.com/member/archive/303/=now
RSS Feed: http://www.listbox.com/member/archive/rss/303/
Modify Your Subscription: 
http://www.listbox.com/member/?member_id=8660244id_secret=103754539-40ed26
Powered by Listbox: http://www.listbox.com


Wrong Bloody Document, Folks! [WAS Re: [agi] Goal Driven Systems and AI Dangers]

2008-05-26 Thread Mark Waser
:-)  While I've read both papers, I was referring to the same paper that you 
were.  I remember what started the thread.  What is your important 
postscript?


- Original Message - 
From: Richard Loosemore [EMAIL PROTECTED]

To: agi@v2.listbox.com
Sent: Sunday, May 25, 2008 7:52 PM
Subject: **SPAM** Wrong Bloody Document, Folks! [WAS Re: [agi] Goal Driven 
Systems and AI Dangers]




Mark Waser wrote:
When I first read Omohundro's paper, my first reaction was . . . Wow! 
That's awesome.
 Then, when I tried to build on it, I found myself picking it apart 
instead.  My previous e-mails from today should explain why.  He's trying 
to extrapolate and predict from first principles and toy experiments to a 
very large and complex system -- when there are just too many additional 
variables and too much emergent behavior to do so successfully.  He made 
a great try and it's worth spending a lot of time with the paper.  My 
biggest fault with it is that he should have recognized that his 
statements about all goal-driven systems don't apply to the 
proto--typical example (humans) and he should have made at least some 
explanation as to why he believed that it didn't.
 In a way, Omohundro's paper is the prototypical/archetypal example for 
Richard's arguments about many AGIers trying to design complex systems 
through decomposition and toy examples and expecting the results to 
self-assemble and scale up to full intelligence.
 I disagree entirely with Richard's arguments that Omohundro's errors 
have *anything* to do with architecture.  I am even tempted to argue that 
Richard is so enamored with/ensnared in his MES vision that he may well 
be violating his own concerns about building complex systems.


Mark,

Well I don't agree at all however, I have to add an important 
postscript to this discussion.


This thread started when Kaj Sotala asked me a question about Omohundro's 
AI Drives paper, in the following words:




Richard,

I'd be curious to hear your opinion of Omohundro's The Basic AI
Drives paper at
http://selfawaresystems.files.wordpress.com/2008/01/ai_drives_final.pdf
(apparently, a longer and more technical version of the same can be
found at 
http://selfawaresystems.files.wordpress.com/2008/01/nature_of_self_improving_ai.pdf

, but I haven't read it yet). I found the arguments made relatively
convincing, and to me, they implied that we do indeed have to be
/very/ careful not to build an AI which might end up destroying
humanity. (I'd thought that was the case before, but reading the paper
only reinforced my view...)


THROUGHOUT THIS DISCUSSION I HAVE BEEN CRITIQUING THAT ORIGINAL PAPER!

It now seems that Josh, for one, was looking at a completely different 
paper (the one that Kaj says is a longer and more technical version, but 
which is in many respects quite different, and which I have only just now 
obtained).


When we have these discussions it is important to be clear that we are at 
least all referring to the same document.  I don't know if you, Mark, have 
been looking at the first one or the second, but it is worth noting that I 
make no warranties about what he said in the later paper.


Perhaps you could let me know which paper you were referring, just so I 
know where to go from here.




Richard Loosemore



---
agi
Archives: http://www.listbox.com/member/archive/303/=now
RSS Feed: http://www.listbox.com/member/archive/rss/303/
Modify Your Subscription: 
http://www.listbox.com/member/?;

Powered by Listbox: http://www.listbox.com






---
agi
Archives: http://www.listbox.com/member/archive/303/=now
RSS Feed: http://www.listbox.com/member/archive/rss/303/
Modify Your Subscription: 
http://www.listbox.com/member/?member_id=8660244id_secret=103754539-40ed26
Powered by Listbox: http://www.listbox.com


Re: [agi] More Info Please

2008-05-26 Thread Mark Waser

I deliberately used specifiers such as
a bit or sufficiently to imply relation with the problem and not
with other languages, that is to show why I think it's adequate for
the task, not that it's optimal.


Why go with adequate when optimal is available?  Aren't you the one who is 
concerned with the existential risks of someone else getting to AGI first? 
Or is this your way of slowing the process down?



C# may have advantages over Java, but
it doesn't mean that these advantages are particularly relevant for a
particular project.


Then make project-specific assertions.  The fact that functional programming 
is an integral part of C# is huge for AGI.  (Your turn to make a valid point 
:-)



alone .NET. As for language anarhcy and feature bloating that .NET
provides, it is not necessarily a good thing, project needs to enforce
reasonable uniformity to be manageable.


Tell us a little bit about yourself . . . .  How many large projects have 
you managed?  Over what time period?  In what language?  How long were you 
responsible for maintenance and enhancements afterwards?  How many 
subsequent, enhanced versions of your large projects were there?  How many 
times have you ported a large project from one environment/language to 
another (or even one major software rev to another)?



- Original Message - 
From: Vladimir Nesov [EMAIL PROTECTED]

To: agi@v2.listbox.com
Sent: Monday, May 26, 2008 11:15 AM
Subject: Re: [agi] More Info Please



That list wasn't about the comparison with .NET, I only added a couple
of words about .NET at the end. I deliberately used specifiers such as
a bit or sufficiently to imply relation with the problem and not
with other languages, that is to show why I think it's adequate for
the task, not that it's optimal. C# may have advantages over Java, but
it doesn't mean that these advantages are particularly relevant for a
particular project. As Ben noted, even C++ goes, even when it clearly
doesn't have some of the important features that even Java has, let
alone .NET. As for language anarhcy and feature bloating that .NET
provides, it is not necessarily a good thing, project needs to enforce
reasonable uniformity to be manageable.


On Mon, May 26, 2008 at 6:19 PM, Mark Waser [EMAIL PROTECTED] wrote:

How is Java is  *more* clear and understandable?

The IDE is *known* to be inferior.  Are you arguing otherwise.

Every modern language has garbage collection.

Java has a functional programming stance?  No, it does not.  Look at what
you can do in the newest version of C# much less F#.  If you believe that
Java has functional programming, you don't have any clue what you are
talking about.

Java's infrastructure is *much* smaller than that of .Net and fragmented.

Everybody knows it?  The way syntax is these days, everybody knows Java 
and

C# and VB.Net because they're basically the same language.

It is *not* any more portable for any sufficiently advanced application 
than

anything else.

Oh, and for your reference, the vast majority of .Net is actually open 
and

has been submitted to standards bodies.  The problem is that Microsoft
advances it faster than the less-interested Linux people can port it so 
Mono

always looks seriously inferior to what's available on Windows.  What's
going to be embarrassing is about three to five years down the line when
Mono kicks Java's butt *and* it's still vastly inferior to what is 
available

under Windows at that time.

- Original Message - From: Vladimir Nesov [EMAIL PROTECTED]
To: agi@v2.listbox.com
Sent: Monday, May 26, 2008 8:48 AM
Subject: Re: [agi] More Info Please


On Mon, May 26, 2008 at 3:42 PM, Mark Waser [EMAIL PROTECTED] 
wrote:


And what is the value proposition of Java over any other language?  It
has
no unique features.  It's development is lagging.  It's developers are
defecting (again, look at the statistics).  It's fragmenting just like
Unix
so it certainly isn't as portable as claimed.



Java is clear and understandable, with clean semantics so that you can
refactor the code without breaking it and IDE knows its way around the
codebase, has garbage collection, a bit of functional programming
stance, is fast enough, has decent infrastructure and everybody knows
it. A bit verbose, but I haven't found it to be a serious problem. If
you don't need fragmented odd parts, it's sufficiently portable. If
you decide between .NET and Java, tradeoff is more subtle, as they are
essentially the same thing, except that .NET is not open and more
bloated -- which is more important for a particular project? I guess
openness outweighs is for an open-source project.

--
Vladimir Nesov
[EMAIL PROTECTED]


---
agi
Archives: http://www.listbox.com/member/archive/303/=now
RSS Feed: http://www.listbox.com/member/archive/rss/303/
Modify Your Subscription: http://www.listbox.com/member/?;
Powered by Listbox: http://www.listbox.com






---
agi

Re: [agi] More Info Please

2008-05-26 Thread Mark Waser
Where do you live, if you do not mind me asking? The preference for 
server environments is very much a local phenomenon. Using California  as 
an example, in Los Angeles there is a strong preference for Windows 
systems, but in Silicon Valley you will find that Unix is pervasive.


I live in Northern Virginia, near Washington, DC.

.NET may be ubiquitous in abstract because it is associated with  Windows, 
but if you actually look at some rather important tech  centers like 
Silicon Valley, there is not a Windows server in sight.  The dominance of 
Unix-based systems there is so complete that it is  not even a contest any 
more. You are apparently under the impression  that this is not true,


Where do you get your statistics?  What exactly are you measuring?

If you're looking solely at servers like Google's which require extremely 
high performance for very specific, very tailored purposes, you are correct.


If you're looking at more generic business-type work, you're just plain 
wrong.  And, realistically, AGI development is *MUCH* closer to the 
business-type work than the high-performance work.


A lot of business in Europe  specifically excludes .NET as a development 
target for similar  pragmatic reasons.


A lot of other business in Europe specifically excludes *nux.  It's a 
cultural difference in contracting.  I'm starting to distrust your claims 
when you come up with BS like this that I know is wrong from my own 
experience.  How much European contracting have you done?  I worked with the 
World Bank for a number of years and then was spun off with the Global 
Development Gateway.  Do you really want to argue European contracting?


To be honest, I do not know of anyone that uses a Mac that is using it 
for .NET development -- total impedance mismatch.


Your original quote was about Mac notebooks at conferences -- not 
development systems.  I know numerous people who use their Mac notebooks as 
a gateway to their non-Mac development machines.  It's very common here for 
the reasons I stated previously.


To use Silicon Valley as an example, C/C++, Java, and Python will give 
you about 90% coverage of the developer pool. The .NET languages are  in 
the residue.


OK.  Show me your statistics.  I have *NEVER* seen statistics anywhere like 
what you're quoting.  One of us is *very* misinformed or you're quoting a 
very odd little subset that has no relevance to the real world.


In Bangalore, .NET is a major percentage of the  developer pool.  Which is 
most likely to usefully contribute to your  project, programming languages 
aside? It sounds an awful lot like you  are simply trying to rationalize 
your personal preference for  programming language/environment.


Nice ad hominem.  I have yet to see anyone attempt to deny my claim about 
the relative development speed on .Net vs. anything else.  That sounds like 
a solid reason, not a rationalization.


And what is the value proposition of Java over any other language?   It 
has no unique features.  It's development is lagging.  It's  developers 
are defecting (again, look at the statistics).  It's  fragmenting just 
like Unix so it certainly isn't as portable as  claimed.


The value proposition of Java is a deep pool of technically proficient 
hackers know it and it works on all the platforms many such people 
prefer.  MacOS has a C/C++, Python, and Java development environment  out 
of the box (among other less common languages), but no .NET.   Linux has 
similar coverage out of the box. By selecting .NET you have  tacitly 
excluded most developers in Silicon Valley, and a huge number  in Europe 
and many other countries. Java casts a much wider net even  if it is an 
inferior environment.


Not that much wider and it should give you a clue that the pool is shrinking 
by most statistics.  Why can't Java win even against C++ and C?  Oh, and 
further, you don't want hackers for a development project of any size -- you 
want qualified professionals who can do large-scale systems development, not 
quick-and-dirty little systems that quickly fall apart or become 
unmanageable shortly after they grow more than the slightest amount.


The language/environment is a secondary concern to the developer pool 
because you could develop this project in *any* language. The  difference 
in overhead costs intrinsic to the environment are nominal.  I don't like 
Java myself, but I think a better argument can be made  for it *in this 
instance* relative to .NET because language features  are not that 
important at the end of the day. If you were doing a  closed shop project 
then .NET would be very arguably a superior choice.


So, why do you believe that all these developers are staying away from the 
superior choice?  Why aren't the smarter ones defecting?  Are you sure that 
they aren't?  Are you sure you want that huge developer pool of those who 
aren't smart enough to defect?



If you hate Java, there are other environments with a better feature



[agi] Re: Mark Waser arguing that OpenCog should be recoded in .Net ;-p

2008-05-26 Thread Ben Goertzel
Mark,

If it were possible to make both C# and C+ versions of the core
(AtomTable and scheduler), and have both C# and C++  MindAgents run on
both, then we would have a favorable situation in terms of allowing
everyone to use their own fave languages and development environments.

-- Ben G

On Mon, May 26, 2008 at 7:18 AM, Mark Waser [EMAIL PROTECTED] wrote:
 While all the language wars continue, I'd like to re-emphasize my original
 point (directly copied from the original e-mail) -- One of the things that
 I've been tempted to argue for a while is an entirely alternate underlying
 software architecture for OpenCog -- people can then develop in the
 architecture that is most convenient and then we could have people
 cross-port between the two.

 Seriously people, I'm not asking anyone to move away from what *you* are
 familiar with if you don't want to.  I'm saying that maybe we should
 deliberately attempt to open this up so that we get *more* contributions and
 viewpoints -- at the admitted cost of needing better documentation and
 control -- which is really necessary anyways.  My belief is that seeing
 what happens will cause a migration -- but I'm not invested in that belief
 and would be happy and see huge benefits either way.

 Mark

 P.S.  Thank you for the forward Ben.

 - Original Message -
 From: Ben Goertzel
 To: [EMAIL PROTECTED]
 Sent: Sunday, May 25, 2008 8:29 PM
 Subject: Mark Waser arguing that OpenCog should be recoded in .Net ;-p

 This email thread on the AGI list really seems more appropriate for the
 OpenCog list... so I'm forwarding it here...

 -- Ben G


 --
 From: Mark Waser [EMAIL PROTECTED]
 Date: Sun, May 25, 2008 at 4:23 PM
 To: agi@v2.listbox.com


 Yeah, I'll certainly grant you that.  The unfortunate problem is that people
 coming in late don't see the prior arguments and then engage in behavior
 that they believe is similar but entirely without the scientific rigor that
 you normally follow but don't always visibly display.

 Also, on the other hand, for certain classes of issues where you are less of
 an expert -- like in large-scale systems architecture (both software and
 conceptual), a number of your previously posted arguments are *I believe* at
 best questionable if not outright wrong.  The fact that these assumptions
 aren't open for inspection at a convenient location is problematical if many
 other things are built on top of them and then they turn out to be wrong.

 We need to start to gather the best of these assumptions and debates in one
 place (probably a wiki) because long-term e-mail looping is not efficient.
 I've had this as a low priority thought for the AGI-Network but I think that
 I'm going to escalate it's priority substantially and see if I can't come up
 with a conceptual design for such a wiki (with scaled and isolated
 privileges) over the next couple of weeks.

 One of the things that I've been tempted to argue for a while is an entirely
 alternate underlying software architecture for OpenCog -- people can then
 develop in the architecture that is most convenient and then we could have
 people cross-port between the two.  I strongly contend that the current
 architecture does not take advantage of a large part of the newest advances
 and infrastructures of the past half-decade.  I think that if people saw
 what could be done with far less time and code utilizing already existing
 functionality and better tools that C++ would be a dead issue.
 --
 From: Ben Goertzel [EMAIL PROTECTED]
 Date: Sun, May 25, 2008 at 4:26 PM
 To: agi@v2.listbox.com


 Somehow I doubt that this list will be the place where the endless
 OS/language
 wars plaguing the IT community are finally solved ;-p

 Certainly there are plenty of folks with equal software engineering
 experience
 to you, advocating the Linux/C++ route (taken in the current OpenCog
 version)
 rather than the .Net/C# route that I believe you advocate...

 -- Ben G
 --
 From: Lukasz Stafiniak [EMAIL PROTECTED]
 Date: Sun, May 25, 2008 at 5:24 PM
 To: agi@v2.listbox.com


 No, I believe he advocates OCaml vs. F#   ;-)
 (sorry for leaving-out Haskell and others)
 --
 From: Mark Waser [EMAIL PROTECTED]
 Date: Sun, May 25, 2008 at 5:59 PM
 To: agi@v2.listbox.com


 Cool.  An *argument from authority* without even having an authority.  Show
 me those plenty of folks and their reasons for advocating Linux/C++.
 Times have changed.  Other alternatives have advanced tremendously.  You are
 out of date and using and touting obsolete software and development
 methods.  I *don't* believe that you can find an expert who has remained
 current on technology who will back your point.

 {NOTE:  It's also always interesting to see someone say that the argument is
 OS/language vs. framework/language (don't you know enough to compare apples
 to apples?)]

 More importantly, I don't believe that I've ever explicitly endorsed C#.
 What I've always pushed is the .NET framework 

Re: [agi] More Info Please

2008-05-26 Thread Vladimir Nesov
On Mon, May 26, 2008 at 3:42 PM, Mark Waser [EMAIL PROTECTED] wrote:

 And what is the value proposition of Java over any other language?  It has
 no unique features.  It's development is lagging.  It's developers are
 defecting (again, look at the statistics).  It's fragmenting just like Unix
 so it certainly isn't as portable as claimed.


Java is clear and understandable, with clean semantics so that you can
refactor the code without breaking it and IDE knows its way around the
codebase, has garbage collection, a bit of functional programming
stance, is fast enough, has decent infrastructure and everybody knows
it. A bit verbose, but I haven't found it to be a serious problem. If
you don't need fragmented odd parts, it's sufficiently portable. If
you decide between .NET and Java, tradeoff is more subtle, as they are
essentially the same thing, except that .NET is not open and more
bloated -- which is more important for a particular project? I guess
openness outweighs is for an open-source project.

-- 
Vladimir Nesov
[EMAIL PROTECTED]


---
agi
Archives: http://www.listbox.com/member/archive/303/=now
RSS Feed: http://www.listbox.com/member/archive/rss/303/
Modify Your Subscription: 
http://www.listbox.com/member/?member_id=8660244id_secret=103754539-40ed26
Powered by Listbox: http://www.listbox.com


[agi] Re: Mark Waser arguing that OpenCog should be recoded in .Net ;-p

2008-05-26 Thread Mark Waser
While all the language wars continue, I'd like to re-emphasize my original 
point (directly copied from the original e-mail) -- One of the things that I've 
been tempted to argue for a while is an entirely alternate underlying software 
architecture for OpenCog -- people can then develop in the architecture that is 
most convenient and then we could have people cross-port between the two.  

Seriously people, I'm not asking anyone to move away from what *you* are 
familiar with if you don't want to.  I'm saying that maybe we should 
deliberately attempt to open this up so that we get *more* contributions and 
viewpoints -- at the admitted cost of needing better documentation and control 
-- which is really necessary anyways.  My belief is that seeing what happens 
will cause a migration -- but I'm not invested in that belief and would be 
happy and see huge benefits either way.

Mark

P.S.  Thank you for the forward Ben.
  - Original Message - 
  From: Ben Goertzel 
  To: [EMAIL PROTECTED] 
  Sent: Sunday, May 25, 2008 8:29 PM
  Subject: Mark Waser arguing that OpenCog should be recoded in .Net ;-p




  This email thread on the AGI list really seems more appropriate for the 
OpenCog list... so I'm forwarding it here...

  -- Ben G


  --
  From: Mark Waser [EMAIL PROTECTED]
  Date: Sun, May 25, 2008 at 4:23 PM
  To: agi@v2.listbox.com



  Yeah, I'll certainly grant you that.  The unfortunate problem is that people 
coming in late don't see the prior arguments and then engage in behavior that 
they believe is similar but entirely without the scientific rigor that you 
normally follow but don't always visibly display.

  Also, on the other hand, for certain classes of issues where you are less of 
an expert -- like in large-scale systems architecture (both software and 
conceptual), a number of your previously posted arguments are *I believe* at 
best questionable if not outright wrong.  The fact that these assumptions 
aren't open for inspection at a convenient location is problematical if many 
other things are built on top of them and then they turn out to be wrong.

  We need to start to gather the best of these assumptions and debates in one 
place (probably a wiki) because long-term e-mail looping is not efficient. I've 
had this as a low priority thought for the AGI-Network but I think that I'm 
going to escalate it's priority substantially and see if I can't come up with a 
conceptual design for such a wiki (with scaled and isolated privileges) over 
the next couple of weeks.

  One of the things that I've been tempted to argue for a while is an entirely 
alternate underlying software architecture for OpenCog -- people can then 
develop in the architecture that is most convenient and then we could have 
people cross-port between the two.  I strongly contend that the current 
architecture does not take advantage of a large part of the newest advances and 
infrastructures of the past half-decade.  I think that if people saw what could 
be done with far less time and code utilizing already existing functionality 
and better tools that C++ would be a dead issue. 

  --
  From: Ben Goertzel [EMAIL PROTECTED]
  Date: Sun, May 25, 2008 at 4:26 PM
  To: agi@v2.listbox.com


  Somehow I doubt that this list will be the place where the endless OS/language
  wars plaguing the IT community are finally solved ;-p

  Certainly there are plenty of folks with equal software engineering experience
  to you, advocating the Linux/C++ route (taken in the current OpenCog version)
  rather than the .Net/C# route that I believe you advocate...

  -- Ben G
  --
  From: Lukasz Stafiniak [EMAIL PROTECTED]
  Date: Sun, May 25, 2008 at 5:24 PM
  To: agi@v2.listbox.com


  No, I believe he advocates OCaml vs. F#   ;-)
  (sorry for leaving-out Haskell and others)

  --
  From: Mark Waser [EMAIL PROTECTED]
  Date: Sun, May 25, 2008 at 5:59 PM
  To: agi@v2.listbox.com



  Cool.  An *argument from authority* without even having an authority.  Show 
me those plenty of folks and their reasons for advocating Linux/C++.  Times 
have changed.  Other alternatives have advanced tremendously.  You are out of 
date and using and touting obsolete software and development methods.  I 
*don't* believe that you can find an expert who has remained current on 
technology who will back your point.

  {NOTE:  It's also always interesting to see someone say that the argument is 
OS/language vs. framework/language (don't you know enough to compare apples to 
apples?)]

  More importantly, I don't believe that I've ever explicitly endorsed C#.  
What I've always pushed is the .NET framework because 1) it's got far more 
already built infrastructure than anything else and 2) you can mix and match 
languages so that you can use the most appropriate language in any given place 
and still use another language where it is more appropriate.

  So, I'll take up your challenge . . . . 

  I've developed in 

Re: [agi] More Info Please

2008-05-26 Thread Vladimir Nesov
That list wasn't about the comparison with .NET, I only added a couple
of words about .NET at the end. I deliberately used specifiers such as
a bit or sufficiently to imply relation with the problem and not
with other languages, that is to show why I think it's adequate for
the task, not that it's optimal. C# may have advantages over Java, but
it doesn't mean that these advantages are particularly relevant for a
particular project. As Ben noted, even C++ goes, even when it clearly
doesn't have some of the important features that even Java has, let
alone .NET. As for language anarhcy and feature bloating that .NET
provides, it is not necessarily a good thing, project needs to enforce
reasonable uniformity to be manageable.


On Mon, May 26, 2008 at 6:19 PM, Mark Waser [EMAIL PROTECTED] wrote:
 How is Java is  *more* clear and understandable?

 The IDE is *known* to be inferior.  Are you arguing otherwise.

 Every modern language has garbage collection.

 Java has a functional programming stance?  No, it does not.  Look at what
 you can do in the newest version of C# much less F#.  If you believe that
 Java has functional programming, you don't have any clue what you are
 talking about.

 Java's infrastructure is *much* smaller than that of .Net and fragmented.

 Everybody knows it?  The way syntax is these days, everybody knows Java and
 C# and VB.Net because they're basically the same language.

 It is *not* any more portable for any sufficiently advanced application than
 anything else.

 Oh, and for your reference, the vast majority of .Net is actually open and
 has been submitted to standards bodies.  The problem is that Microsoft
 advances it faster than the less-interested Linux people can port it so Mono
 always looks seriously inferior to what's available on Windows.  What's
 going to be embarrassing is about three to five years down the line when
 Mono kicks Java's butt *and* it's still vastly inferior to what is available
 under Windows at that time.

 - Original Message - From: Vladimir Nesov [EMAIL PROTECTED]
 To: agi@v2.listbox.com
 Sent: Monday, May 26, 2008 8:48 AM
 Subject: Re: [agi] More Info Please


 On Mon, May 26, 2008 at 3:42 PM, Mark Waser [EMAIL PROTECTED] wrote:

 And what is the value proposition of Java over any other language?  It
 has
 no unique features.  It's development is lagging.  It's developers are
 defecting (again, look at the statistics).  It's fragmenting just like
 Unix
 so it certainly isn't as portable as claimed.


 Java is clear and understandable, with clean semantics so that you can
 refactor the code without breaking it and IDE knows its way around the
 codebase, has garbage collection, a bit of functional programming
 stance, is fast enough, has decent infrastructure and everybody knows
 it. A bit verbose, but I haven't found it to be a serious problem. If
 you don't need fragmented odd parts, it's sufficiently portable. If
 you decide between .NET and Java, tradeoff is more subtle, as they are
 essentially the same thing, except that .NET is not open and more
 bloated -- which is more important for a particular project? I guess
 openness outweighs is for an open-source project.

 --
 Vladimir Nesov
 [EMAIL PROTECTED]


 ---
 agi
 Archives: http://www.listbox.com/member/archive/303/=now
 RSS Feed: http://www.listbox.com/member/archive/rss/303/
 Modify Your Subscription: http://www.listbox.com/member/?;
 Powered by Listbox: http://www.listbox.com





 ---
 agi
 Archives: http://www.listbox.com/member/archive/303/=now
 RSS Feed: http://www.listbox.com/member/archive/rss/303/
 Modify Your Subscription:
 http://www.listbox.com/member/?;
 Powered by Listbox: http://www.listbox.com




-- 
Vladimir Nesov
[EMAIL PROTECTED]


---
agi
Archives: http://www.listbox.com/member/archive/303/=now
RSS Feed: http://www.listbox.com/member/archive/rss/303/
Modify Your Subscription: 
http://www.listbox.com/member/?member_id=8660244id_secret=103754539-40ed26
Powered by Listbox: http://www.listbox.com


Re: [agi] More Info Please

2008-05-26 Thread Ben Goertzel
On Mon, May 26, 2008 at 8:33 PM, J. Andrew Rogers
[EMAIL PROTECTED] wrote:
 Replying to myself,

 I'll let Mark have the last word since, after all, it is *his* project and
 not mine. :-)

I assume that last sentence was sarcastic ;-)

Of course, while Mark is a valued participant in OpenCog, it's not
*his* personal project ...
and the initial OpenCog system is C++, mainly tested in a Unix environment ...

FWIW, my impression about the ubiquity of Unix servers in Silicon
Valley agrees w/yours.

This is obviously because Silicon Valley is currently obsessed with
Web apps, and Unix is
generally recognized as a better platform for the large-scale
deployment of Web apps.

And no, I don't feel like spending my whole evening looking up copious
statistics to support this assertion.

However, I'll quote just one simple stat:


About 90% of the Internet relies on Unix operating systems running
Apache, the world's most widely used Web server.

from

http://linux.about.com/cs/linux101/a/unix_win.htm

I spent 10 minutes looking for data regarding developer productivity
on Linux vs. Windows,
but mostly just found bullshit about M$ vs. IBM, concerning fatally
flawed, mock-scientific studies
funded by Microsoft ;-p

http://websphere.sys-con.com/read/46828.htm

(note that this study, while conducted by M$ in an extremely dishonest
way, is also really about
IBM WebSphere rather than about Linux C++ programming, so it's not
directly pertinent to
this discussion anyway.  Except to highlight the difficulties of doing
this sort of comparison in
a meaningful way.)

OK ... enough of that ... back to doing useful work ;-)

-- Ben


---
agi
Archives: http://www.listbox.com/member/archive/303/=now
RSS Feed: http://www.listbox.com/member/archive/rss/303/
Modify Your Subscription: 
http://www.listbox.com/member/?member_id=8660244id_secret=103754539-40ed26
Powered by Listbox: http://www.listbox.com


Re: [agi] More Info Please

2008-05-26 Thread Mark Waser

How is Java is  *more* clear and understandable?

The IDE is *known* to be inferior.  Are you arguing otherwise.

Every modern language has garbage collection.

Java has a functional programming stance?  No, it does not.  Look at what 
you can do in the newest version of C# much less F#.  If you believe that 
Java has functional programming, you don't have any clue what you are 
talking about.


Java's infrastructure is *much* smaller than that of .Net and fragmented.

Everybody knows it?  The way syntax is these days, everybody knows Java and 
C# and VB.Net because they're basically the same language.


It is *not* any more portable for any sufficiently advanced application than 
anything else.


Oh, and for your reference, the vast majority of .Net is actually open and 
has been submitted to standards bodies.  The problem is that Microsoft 
advances it faster than the less-interested Linux people can port it so Mono 
always looks seriously inferior to what's available on Windows.  What's 
going to be embarrassing is about three to five years down the line when 
Mono kicks Java's butt *and* it's still vastly inferior to what is available 
under Windows at that time.


- Original Message - 
From: Vladimir Nesov [EMAIL PROTECTED]

To: agi@v2.listbox.com
Sent: Monday, May 26, 2008 8:48 AM
Subject: Re: [agi] More Info Please



On Mon, May 26, 2008 at 3:42 PM, Mark Waser [EMAIL PROTECTED] wrote:


And what is the value proposition of Java over any other language?  It 
has

no unique features.  It's development is lagging.  It's developers are
defecting (again, look at the statistics).  It's fragmenting just like 
Unix

so it certainly isn't as portable as claimed.



Java is clear and understandable, with clean semantics so that you can
refactor the code without breaking it and IDE knows its way around the
codebase, has garbage collection, a bit of functional programming
stance, is fast enough, has decent infrastructure and everybody knows
it. A bit verbose, but I haven't found it to be a serious problem. If
you don't need fragmented odd parts, it's sufficiently portable. If
you decide between .NET and Java, tradeoff is more subtle, as they are
essentially the same thing, except that .NET is not open and more
bloated -- which is more important for a particular project? I guess
openness outweighs is for an open-source project.

--
Vladimir Nesov
[EMAIL PROTECTED]


---
agi
Archives: http://www.listbox.com/member/archive/303/=now
RSS Feed: http://www.listbox.com/member/archive/rss/303/
Modify Your Subscription: 
http://www.listbox.com/member/?;

Powered by Listbox: http://www.listbox.com






---
agi
Archives: http://www.listbox.com/member/archive/303/=now
RSS Feed: http://www.listbox.com/member/archive/rss/303/
Modify Your Subscription: 
http://www.listbox.com/member/?member_id=8660244id_secret=103754539-40ed26
Powered by Listbox: http://www.listbox.com


Re: [agi] More Info Please

2008-05-26 Thread Lukasz Stafiniak
On Mon, May 26, 2008 at 1:26 PM, Mark Waser [EMAIL PROTECTED] wrote:

 What I'd rather do instead is see if we can get a .NET parallel track
 started over the next few months, see if we can get everything ported, and
 see the relative productivity between the two paths.  That would provide a
 provably true answer to the debate.

There are also sane languages using the C++ object model
(http://felix-lang.org/). And there is Mono, though I've heard it
falls behind .NET considerably in terms of efficiency. The thing is,
will multi-language sourcing be encouraged? (Will every contributor be
allowed to write in his language, provided it compiles with the rest?)


---
agi
Archives: http://www.listbox.com/member/archive/303/=now
RSS Feed: http://www.listbox.com/member/archive/rss/303/
Modify Your Subscription: 
http://www.listbox.com/member/?member_id=8660244id_secret=103754539-40ed26
Powered by Listbox: http://www.listbox.com


Re: [agi] More Info Please

2008-05-26 Thread Russell Wallace
On Mon, May 26, 2008 at 6:26 PM, Stephen Reed [EMAIL PROTECTED] wrote:
 Regarding the best language for AGI development, most here know that I'm
 using Java in Texai.  For skill acquisition, my strategy is to have Texai
 acquire a skill by composing a Java program to perform the learned skill.  I
 hope that the algorithmic (e.g. Java statement  operation) knowledge that I
 teach it will be eventually portable to source code generation in machine
 language for the x64 architecture.  One might hope that by initially
 teaching the register set, machine instructions, and cache-line
 characteristics for x64, the code generation might subsequently  learn to
 perform many of the static and dynamic (e.g. execution profiling based)
 optimizations employed by the best compilers.

This sounds good, though a nitpick...

 Given algorithmic knowledge, it should be possible, for example, to avoid
 the need for type inference, or escape analysis to determine which objects
 can be allocated from the stack versus the heap.

By avoid the need for... you probably mean have the AI figure out
how to do... by itself, thus avoiding the need to manually figure out
the rules?


---
agi
Archives: http://www.listbox.com/member/archive/303/=now
RSS Feed: http://www.listbox.com/member/archive/rss/303/
Modify Your Subscription: 
http://www.listbox.com/member/?member_id=8660244id_secret=103754539-40ed26
Powered by Listbox: http://www.listbox.com


Re: [agi] More Info Please

2008-05-26 Thread Mark Waser

Good luck on your trip!

Personally, I would rather start a debate page on virtually *anything* else. 
I will start a couple on other AGI issues elsewhere but language debates 
just aren't worth the time because most people have virulent opinions 
without the requisite knowledge to support them -- not to mention the fact 
that I wasn't arguing language but architecture and infrastructure.  Check 
out the fact that you can now do functional programming in the newest 
version of C# and get back to me on how cool that is.


What I'd rather do instead is see if we can get a .NET parallel track 
started over the next few months, see if we can get everything ported, and 
see the relative productivity between the two paths.  That would provide a 
provably true answer to the debate.


- Original Message - 
From: Ben Goertzel [EMAIL PROTECTED]

To: agi@v2.listbox.com
Cc: Linas Vepstas [EMAIL PROTECTED]
Sent: Sunday, May 25, 2008 8:26 PM
Subject: Re: [agi] More Info Please



Mark,


For OpenCog we had to make a definite choice and we made one.  Sorry
you don't agree w/ it.


I agree that you had to make a choice and made the one that seemed right 
to

various reason.  The above comment is rude and snarky however --
 particularly since it seems to come *because* you can't justify your
choice. I would expect better of you.

= = = = = = =

Let's try this again.  Get your experts together and create a short list 
of

why C++ on Linux (and any infrastructure there that isn't immediately
available under .Net) is better than the combination of all the .Net
languages and all the infrastructure available there that isn't 
immediately
available under Linux.  No resorting to pseudo-democracies of experts, 
how

about real reasons that YOU will stand behind and be willing to defend.


This would be a reasonable exercise, but I simply don't have time to
deal with it
right now.

I'm about to leave on a 2.5 weeks business / research-collaboration trip 
to

Asia, and en route I hope to make some progress on mutating Novamente docs
into OpenCog docs.  No time to burn on these arguments at the moment.

However, it might be worthwhile to create a page on the OpenCog wiki
focused on this issue, if others are also interested in it.

There could be a section on the page arguing the potential advantages
of .Net for
OpenCog; a section on the page arguing the intended advantages of the 
current

approach; and other sections written by folks advocating other approaches
(e.g. LISP-centric, whatever...).

Perhaps if you create this page and get it started w/ your own arguments, 
others

will contribute theirs and we can advance the debate that way.

-- Ben


---
agi
Archives: http://www.listbox.com/member/archive/303/=now
RSS Feed: http://www.listbox.com/member/archive/rss/303/
Modify Your Subscription: 
http://www.listbox.com/member/?;

Powered by Listbox: http://www.listbox.com






---
agi
Archives: http://www.listbox.com/member/archive/303/=now
RSS Feed: http://www.listbox.com/member/archive/rss/303/
Modify Your Subscription: 
http://www.listbox.com/member/?member_id=8660244id_secret=103754539-40ed26
Powered by Listbox: http://www.listbox.com


Re: [agi] More Info Please

2008-05-26 Thread Jim Bromer
J. Andrew Rogers said:

For open source projects, ideal environments play  
second fiddle to broad language support. Painless portability is the  
reason C is often selected over C++ for open source projects --  
universality is that important.
J. Andrew Rogers

---

Would you please direct me to open source project web sites that may be of 
interest to AI projecteers, and a C++ compiler to use with them.  I never found 
any comments on a good compiler to use on a Windows XP system (other than the 
microsoft compiler of course.)  I am also looking for a web site that also has 
some introductory material on
how one goes about working on a listed open source project.
Jim Bromer



  


---
agi
Archives: http://www.listbox.com/member/archive/303/=now
RSS Feed: http://www.listbox.com/member/archive/rss/303/
Modify Your Subscription: 
http://www.listbox.com/member/?member_id=8660244id_secret=103754539-40ed26
Powered by Listbox: http://www.listbox.com


Re: [agi] Goal Driven Systems and AI Dangers [WAS Re: Singularity Outcomes...]

2008-05-26 Thread Mark Waser

Josh,

   Thank you very much for the pointers (and replying so rapidly).

You're very right that people misinterpret and over-extrapolate econ and 
game

theory, but when properly understood and applied, they are a valuable tool
for analyzing the forces shaping the further evolution of AGIs and indeed 
may

be our only one.


No.  I would argue that there is a lot of good basic research into human and 
primate behavior that is more applicable since it's already been tested and 
requires less extrapolation (and visibly shows where a lot of current 
extrapoloation is just plain wrong).


But in the long run, slightly nicer programs can out-compete slightly 
nastier

ones, and then in turn be out-competed by slightly nicer ones yet. For
example, in a simulation with ``noise,'' meaning that occasionally at 
random

a ``cooperate'' is turned in to a ``defect,'' tit-for-tat gets hung up in
feuds, and a generous version that occasionally forgives a defection does
better--but only if the really nasty strategies have been knocked out by
tit-for-tat first. Even better is a strategy called Pavlov, due to an
extremely simple form of learning. Pavlov repeats its previous play if it
``won,'' and switches if it ``lost.'' In particular, it cooperates 
whenever
both it and its opponent did the same thing the previous time--it's a 
true,

if very primitive, ``cahooter.'' Pavlov also needs the underbrush to be
cleared by a ``stern retaliatory strategy like tit-for-tat.''


Actually, I've seen this presented as a good clock analogy as well . . . . 
slightly nicer out-competes slightly nastier but once it hits a nasty enough 
program, it loses.


The true question is, how do you raise the niceness of *all* players and 
prevent defection -- because being the single bad guy is a winning strategy 
while being just one among many is horrible for everyone.


So, in simplistic computer simulations at least, evolution seems to go 
through

a set of phases with different (and improving!) moral character.


So why do so many people think evolution favors the exactly the opposite? 





---
agi
Archives: http://www.listbox.com/member/archive/303/=now
RSS Feed: http://www.listbox.com/member/archive/rss/303/
Modify Your Subscription: 
http://www.listbox.com/member/?member_id=8660244id_secret=103754539-40ed26
Powered by Listbox: http://www.listbox.com


Re: [agi] Goal Driven Systems and AI Dangers [WAS Re: Singularity Outcomes...]

2008-05-26 Thread J Storrs Hall, PhD
On Monday 26 May 2008 06:55:48 am, Mark Waser wrote:
  The problem with accepted economics and game theory is that in a proper
  scientific sense, they actually prove very little and certainly far, FAR
  less than people extrapolate them to mean (or worse yet, prove).
 
  Abusus non tollit usum.
 
 Oh Josh, I just love it when you speak Latin to me!  It makes you seem s 
 smart . . . .
 
 But, I don't understand your point.  What argument against proper use do you 
 believe that I'm making?  Or, do you believe that Omohundro is making 
 improper use of AEFGT?

You're very right that people misinterpret and over-extrapolate econ and game 
theory, but when properly understood and applied, they are a valuable tool 
for analyzing the forces shaping the further evolution of AGIs and indeed may 
be our only one.

 Could you please give some references (or, at least, pointers to pointers) 
 that show the existence of the moral ladder?  I'd appreciate it and could 
 use them for something else.  Thanks!

BAI p. 178-9:

Further research into evolutionary game theory shows that the optimal strategy 
is strongly dependent on the environment constituted by other players. In a 
population of all two-state automata (of which tit-for-tat is one), a program 
by the name of GRIM is optimal. GRIM cooperates until its opponent defects 
just once, and always defects after that. The reason it does well is that the 
population has quite a few programs whose behavior is oblivious or random. 
Rather than trying to decipher them, it just shoots them all and lets 
evolution sort them out.

Chances are Axelrod's original tournaments are a better window into parts of 
the real, biological evolutionary dynamic than are the later tournaments with 
generated agents. The reason is that genetic algorithms are still unable to 
produce anything nearly as sophisticated as human programmers. Thus GRIM, for 
example, gets a foothold in a crowd of unsophisticated opponents. It wouldn't 
do you any good to be forgiving or clear if the other program were random. 

But in the long run, slightly nicer programs can out-compete slightly nastier 
ones, and then in turn be out-competed by slightly nicer ones yet. For 
example, in a simulation with ``noise,'' meaning that occasionally at random 
a ``cooperate'' is turned in to a ``defect,'' tit-for-tat gets hung up in 
feuds, and a generous version that occasionally forgives a defection does 
better--but only if the really nasty strategies have been knocked out by 
tit-for-tat first. Even better is a strategy called Pavlov, due to an 
extremely simple form of learning. Pavlov repeats its previous play if it 
``won,'' and switches if it ``lost.'' In particular, it cooperates whenever 
both it and its opponent did the same thing the previous time--it's a true, 
if very primitive, ``cahooter.'' Pavlov also needs the underbrush to be 
cleared by a ``stern retaliatory strategy like tit-for-tat.''

So, in simplistic computer simulations at least, evolution seems to go through 
a set of phases with different (and improving!) moral character.

Karl Sigmund, Complex Adaptive Systems and the Evolution of Reciprocation , 
International Institute for Applied Systems Analysis Interim Report 
IR-98-100; see http://www.iiasa.ac.at.

there's a lot of good material at 
http://jasss.soc.surrey.ac.uk/JASSS.html

 
 Also, I'm *clearly* not arguing his basic starting point or the econ 
 references.  I'm arguing his extrapolations.  Particularly the fact that his 
 ultimate point that he claims applies to all goal-based systems clearly does 
 not apply to human beings. 

I think we're basically in agreement here.

Josh



---
agi
Archives: http://www.listbox.com/member/archive/303/=now
RSS Feed: http://www.listbox.com/member/archive/rss/303/
Modify Your Subscription: 
http://www.listbox.com/member/?member_id=8660244id_secret=103754539-40ed26
Powered by Listbox: http://www.listbox.com


[agi] Re: Mark Waser arguing that OpenCog should be recoded in .Net ;-p

2008-05-26 Thread Mark Waser
One of my major points that we've lost in all this is that *every* piece 
should have clean, well-specified interfaces and APIs such that the language 
of one piece really shouldn't have an effect on the language of another.


C++ runs just fine under .Net (albeit as unmanaged code).

If I were to create a .Net fork, I would still have both C# and C++ versions 
and let developers use both and choose between them as necessary.


The best way to start a .Net fork would be to just get the current C++ to 
compile and run under .Net.


Then I'd start trying to help with the documentation . . . . then the C#.

- Original Message - 
From: Ben Goertzel [EMAIL PROTECTED]

To: [EMAIL PROTECTED]
Cc: agi@v2.listbox.com
Sent: Monday, May 26, 2008 10:10 AM
Subject: Re: Mark Waser arguing that OpenCog should be recoded in .Net ;-p




Mark,

If it were possible to make both C# and C+ versions of the core
(AtomTable and scheduler), and have both C# and C++  MindAgents run on
both, then we would have a favorable situation in terms of allowing
everyone to use their own fave languages and development environments.

-- Ben G

On Mon, May 26, 2008 at 7:18 AM, Mark Waser [EMAIL PROTECTED] wrote:
While all the language wars continue, I'd like to re-emphasize my 
original
point (directly copied from the original e-mail) -- One of the things 
that
I've been tempted to argue for a while is an entirely alternate 
underlying

software architecture for OpenCog -- people can then develop in the
architecture that is most convenient and then we could have people
cross-port between the two.

Seriously people, I'm not asking anyone to move away from what *you* are
familiar with if you don't want to.  I'm saying that maybe we should
deliberately attempt to open this up so that we get *more* contributions 
and

viewpoints -- at the admitted cost of needing better documentation and
control -- which is really necessary anyways.  My belief is that seeing
what happens will cause a migration -- but I'm not invested in that 
belief

and would be happy and see huge benefits either way.

Mark

P.S.  Thank you for the forward Ben.

- Original Message -
From: Ben Goertzel
To: [EMAIL PROTECTED]
Sent: Sunday, May 25, 2008 8:29 PM
Subject: Mark Waser arguing that OpenCog should be recoded in .Net ;-p

This email thread on the AGI list really seems more appropriate for the
OpenCog list... so I'm forwarding it here...

-- Ben G


--
From: Mark Waser [EMAIL PROTECTED]
Date: Sun, May 25, 2008 at 4:23 PM
To: agi@v2.listbox.com


Yeah, I'll certainly grant you that.  The unfortunate problem is that 
people

coming in late don't see the prior arguments and then engage in behavior
that they believe is similar but entirely without the scientific rigor 
that

you normally follow but don't always visibly display.

Also, on the other hand, for certain classes of issues where you are less 
of

an expert -- like in large-scale systems architecture (both software and
conceptual), a number of your previously posted arguments are *I believe* 
at

best questionable if not outright wrong.  The fact that these assumptions
aren't open for inspection at a convenient location is problematical if 
many

other things are built on top of them and then they turn out to be wrong.

We need to start to gather the best of these assumptions and debates in 
one
place (probably a wiki) because long-term e-mail looping is not 
efficient.
I've had this as a low priority thought for the AGI-Network but I think 
that
I'm going to escalate it's priority substantially and see if I can't come 
up

with a conceptual design for such a wiki (with scaled and isolated
privileges) over the next couple of weeks.

One of the things that I've been tempted to argue for a while is an 
entirely

alternate underlying software architecture for OpenCog -- people can then
develop in the architecture that is most convenient and then we could 
have

people cross-port between the two.  I strongly contend that the current
architecture does not take advantage of a large part of the newest 
advances

and infrastructures of the past half-decade.  I think that if people saw
what could be done with far less time and code utilizing already existing
functionality and better tools that C++ would be a dead issue.
--
From: Ben Goertzel [EMAIL PROTECTED]
Date: Sun, May 25, 2008 at 4:26 PM
To: agi@v2.listbox.com


Somehow I doubt that this list will be the place where the endless
OS/language
wars plaguing the IT community are finally solved ;-p

Certainly there are plenty of folks with equal software engineering
experience
to you, advocating the Linux/C++ route (taken in the current OpenCog
version)
rather than the .Net/C# route that I believe you advocate...

-- Ben G
--
From: Lukasz Stafiniak [EMAIL PROTECTED]
Date: Sun, May 25, 2008 at 5:24 PM
To: agi@v2.listbox.com


No, I believe he advocates OCaml vs. F#   ;-)
(sorry for leaving-out Haskell and others)
--
From: Mark