Goober (a Go playing program)
Goober is program who play the ancient chinese game of Go. It use a MCTS (Monte Carlo Tree Search) algorithm for exploring the game tree with UCT and RAVE component. The search tree is implemented using a transposition table scheme and can drop older nodes if needed.
Nodes and leaves evaluation is done by Monte-Carlo sampling with the following heuristics :
- atari checking
- nakade handling
- local pattern matching
- space handling
It talk the GTP protocol, so you can use it with any standard graphical Go interface such as Quarry or GoGui.
It's fully written in ansi/C for maximum portability. But you can allow use of POSIX if you want it to use throttling wich cannot be done without it.
Download
Goober is distributed under the term of the MIT licence. For any bug repport or information contact me at : thomas DOT lavergne AT reveurs DOT org.
- • goober v0.7.1 [download]
gdi (Generic Demosaicing Implementation)
This is a project started some time ago when I was trying various ideas for demosaicing. I've needed some reference to compare my ideas so I've started this project. This project is halted now cause of lack of time, but I still hope to implement some newer and better algorithms as well as clean-up code of my ideas and publish thems.
Gdi is an implementation of various demosaicing algorithms. The main goal is to make simple but accurate implementations of the various existing demosaicing methods in order to compare them, have a baseline for evaluating new methods, and be able to choose the right method for a given picture.
In most development apps you don't have the choice of the algorithm used, but at least for the moment, there is no absolute algorithms. The best choice is picture dependent.
For the moment gdi is able to load picture in PGM format with any bayer cfa pattern and apply one of the following algorithm :
- Bilinear Interpolation
- Smooth Hue Transition
- Linear interpolation with Laplacian 2nd order correction term
- Pixel Grouping
- Variable Number of Gradients
Gdi will take a greyscale PGM picture and a bayer pattern, and will output a PPM picture in full colors for each algorithm.
The gdidata package contain the classical lighthouse picture (from here) and four greyscale version of it corresponding to the four Bayer pattern in order to bench gdi.
Download
gdi is distributed under the term of the MIT licence. For any bug repport or information contact me at : thomas DOT lavergne AT reveurs DOT org. (gdidata keep its original copyright)
F-lsh
A generic LSH framework for fast similarity computation in full ansi/C. It allow to build fingerprints of data and then compute similarity between pairs of fingerprints.
This package provide efficient implementation of min-hashing and random plane projection LSH-schemes.
Download
flsh is distributed under the term of the MIT licence. For any bug repport or information contact me at : thomas DOT lavergne AT reveurs DOT org.
- • flsh v0.1.0 [download]
Mixlua
Mixlua is a library for Lua 5.1 who provide an onload preprocessor for lua files and allow mixing of Lua code with other data. It provide loadstring and loadfile function similar to Lua ones but with aditional argument for specifing how the data element are recognized and handled, and produce a regular lua compiled chunk with additional material for handleing the data.
Download
Mixlua is distributed under the term of the MIT licence like Lua. For any bug repport or information contact me at : thomas DOT lavergne AT reveurs DOT org.
- • Mixlua v0.2.7 [download]
Example
require("mixlua")
-- Example : This is the table who contain data to save
ex = {
name = "Example 1",
width = 1024,
height = 768,
windows = {
{name = "Win 1", level = 3},
{name = "Win 2", level = 1},
{name = "Win 3", level = 5},
{name = "Win 4", level = 4},
}
}
-- This is a template for saving in file like ini configuration files
template_ini = [[
[general]
name = <<= ex.name >>
width = <<= ex.width >>
height = <<= ex.height >>
<< for id, win in ipairs(ex.windows) do >>
[window<<=id>>]
name = <<= win.name >>
level = <<= win.level >>
<< end >>
]]
assert(mix.loadstring(template_ini, "<<", ">>"))()
dsKm
A simple but rather efficient implementation of the K-means clustering method in full ansi/C. Just give it your data, number of clusters (and eventually the error threshold) and let it build yours clusters.
Download
dsKm is distributed under the term of the MIT licence. For any bug repport or information contact me at : thomas DOT lavergne AT reveurs DOT org.
- • dsKm v0.1.0 [download]
u8tol15
This is just a small tool to convert utf-8 files to iso-latin-15. It convert only chars with an exact equivalent in iso-latin-15, all other unconvertible chars are removed or replaced by a default char.
This is not intended to replace iconv or other tool like this in the general case. I've written this because I've needed to process, in constrained environment, a very huge amount of data in utf-8 and the process program take an iso-latin-15 stream. iconv is very great tools but not adpted in this case.
Originally it was designed to be embeded in code, but I've made it a separate tool if some peolples are interrested.
Download
u8tol15 is distributed under the term of the MIT licence. For any bug repport or information contact me at : thomas DOT lavergne AT reveurs DOT org.
- • u8tol15 v0.1.0 [download]