Advertisement

Programming Language

Started by November 21, 2005 09:46 AM
13 comments, last by Extrarius 19 years ago
Is it possible to program Hill Climbing, Simulated Annealing, GAs etc, in Java? If not, what other languagescould i program it in? Are there any specialised ones out there. I tried google and couldnt find much. Cheers
-----------------------------MB
I dont know an algorithm that can't be programmed in any language if you are proficient and patient enough. Java is suitable to all of the methods you mention.

As for languages specialised in AI, the main ones are LISP and PROLOG.

Lisp uses the functional programming paradigm, and is great for prototyping AI and complex math theorems solvers.

Prolog is a logical programming language, I've never learned it but I guess it could be great to test Agent-based AI.

However, They are probably very different from any other language you have seen (who are generally procedural and OO languages). Also time and memory performance is very bad, so it can hardly be applied to game. But for AI R&D, they are great.

I hope that helps!
Advertisement
Going off topic a bit, while I'm not sure about Prolog, there are some optimising compilers for Lisp that are quite good.
Thats possible, AP. The last time I used LISP, there were not *any* lisp compiler, only interpreters. However, knowing the specs of the lisp language, I doubt it can achieve performance that is near C or C+, especially in memory. I should try it again...
Quote: Original post by Steadtler
Thats possible, AP. The last time I used LISP, there were not *any* lisp compiler, only interpreters. However, knowing the specs of the lisp language, I doubt it can achieve performance that is near C or C+, especially in memory. I should try it again...

You used LISP in the 1960s? Didn't know people that old are posting here ;)

Lisp uses much more memory than C, but performance isn't much worse. Lisp written for performance typically has between 50% and 100% of the speed of C.

Lisp implementation list
The thing is, i am doing something to compare solving timetabling problems using something like SA and Hill Climbing - and comparing their performances. You think that LISP is the way forward for me? I have been learning Java for over 2 years now and have only dabbled a little bit with LISP and PROLOG
-----------------------------MB
Advertisement
No, I think you can program these algorithms in Java just as well. There is nothing in them that makes them particularly hard to implement in Java.

There are problems that are easy to solve in Lisp and very intricate in Java, but SA and hill climbing are not one of them.
This is a demonstration that genetic algorims and other things are possible and easy in Java. It's runnable, kinda, so you might play with it.
www.well.com/~xanthian/java/TravellerDoc.html
Thanks guys. You've put my mind to rest!
-----------------------------MB
You can do AI in BF too, that doesn't mean you should [lol]

This topic is closed to new replies.

Advertisement