The Artificial Characters Learning Problem Solution can be found on UCI website.
This database has been artificially generated by using a first order theory which describes the structure of ten capital letters of the English alphabet and a random choice theorem prover which accounts for etherogeneity in the instances. The capital letters represented are the following: A, C, D, E, F, G, H, L, P, R. Each instance is structured and is described by a set of segments (lines) which resemble the way an automatic program would segment an image. Each instance is stored in a separate file whose format is the following:
CLASS OBJNUM TYPE XX1 YY1 XX2 YY2 SIZE DIAG
where CLASS is an integer number indicating the class as described below, OBJNUM is an integer identifier of a segment (starting from 0) in the instance and the remaining columns represent attribute values. For further details, contact the author.
-
TYPE: the first attribute describes the type of segment and is always set to the string "line". Its C language type is char.
-
XX1,YY1,XX2,YY2: these attributes contain the initial and final coordinates of a segment in a cartesian plane. Their C language type is int.
-
SIZE: this is the length of a segment computed by using the geometric distance between two points A(X1,Y1) and B(X2,Y2). Its C language type is float.
-
DIAG: this is the length of the diagonal of the smallest rectangle which includes the picture of the character. The value of this attribute is the same in each object. Its C language type is float.
cd data && uncompress character.tar.Z && tar xvf character.tar && cd murphy && unzip "*.zip" # extract data
clang++ -std=c++1z *.cpp -o convert.o # Compile convert program
This is the usage of convert.o
./convert
Usage: convert [-output] [acdefghlpr] x1 x2 [path]
output:
-1 output *pattern & *target in one file
-2 output *pattern & *target in two files
-c represent as 12x8 array
-d represent as 6 4x4 arrays
acdefghlpr: specify characters to convert
x1 x2: specify range to convert, x1 < x2, and 1 to 500
path: specify optional path to source files
example: >convert -2c acdefgh 1 25 source
Data conversion
./convert.o -1c acdefghlpr 1 100 ./murphy/learn/
./convert.o -1c acdefghlpr 1 500 ./murphy/test/