Algo.NET

I've just opened a project on CodePlex - http://algonet.codeplex.com/  !!!

This project will implement various algorithms related to artificial intelligence, numerical analysis, NLP, object recognition and quantitative finance. It will initially target C#, and eventually F#.
 

First exercise - port Java AIMA 3 to C# from http://code.google.com/p/aima-java
 

AIMA3

so far I've ported the utils - helpers, data structures and basic linear algebra classes
  • Matrix class - Implemented ICloneable, ISerializable.GetObjectData (may move to DataContractAttribute instead)
  • cleaned up code via resharper
  • MixedRadixNumber class – unfortunately, there is no .NET equivalent for java Number ValueType base class – will come back to this
  • Get & Put operations – replaced with property accessors, indexors
  • Made whatever I could linq enabled
  • Cleaned up comment overloads
  • For comparison of floating point number used an epsilon 0.00001
 
classes that were left out from aima.core.util.datastructure - because of existing equivelent classes in .NET BCL:
  • FifoQueue - Queue<T>
  • LifoQueue - Stack<T>
  • Pair - Tuple<T1,T2>
  • Point2D - Point2D
  • Triplet - Tuple<T1,T2,T3>
  • I left PriorityQueue in for the moment - I may replace with OrderedBag / OrderedSet classes in PowerCollections or Parallel Extensions extras http://code.msdn.microsoft.com/Samples-for-Parallel-b4b76364
 
classes that were left out from aima.core.util - because of existing equivalent classes in .NET BCL:
  • ArrayIterator – IEnumerable<T>
  • CancelableThread – Thread (may move to Task anyway)
  • Converter – LINQ ToDictionary, ToList operators
  • SetOps – LINQ operators

All fun & games !!!

Print | posted on Monday, September 05, 2011 11:19 AM

Feedback

# re: Algo.NET

Left by Malisa Ncube at 9/9/2011 10:07 PM
Gravatar Nice work!

I would like to contribute. I see this impacting some of my projects.

Your comment:





 
 

Copyright © JoshReuben

Design by Bartosz Brzezinski

Design by Phil Haack Based On A Design By Bartosz Brzezinski