00001 00020 #ifndef HEURISTIC_H 00021 #define HEURISTIC_H 00022 00023 /*---------------------------------------------------------------------- 00024 I n c l u d e s 00025 ----------------------------------------------------------------------*/ 00026 #include "associate.h" 00027 #include "bestfirst.h" 00028 00029 /*---------------------------------------------------------------------- 00030 F u n c t i o n s 00031 ----------------------------------------------------------------------*/ 00032 FLOAT32 prioritize_state(CHUNKS_RECORD *chunks_record, 00033 SEARCH_RECORD *the_search, 00034 STATE *old_state); 00035 00036 FLOAT32 rating_priority(CHUNKS_RECORD *chunks_record, 00037 STATE *state, 00038 STATE *old_state, 00039 int num_joints); 00040 00041 WIDTH_RECORD *state_char_widths(WIDTH_RECORD *chunk_widths, 00042 STATE *state, 00043 int num_joints, 00044 SEARCH_STATE *search_state); 00045 00046 FLOAT32 width_priority(CHUNKS_RECORD *chunks_record, 00047 STATE *state, 00048 int num_joints); 00049 00050 /* 00051 #if defined(__STDC__) || defined(__cplusplus) || MAC_OR_DOS 00052 # define _ARGS(s) s 00053 #else 00054 # define _ARGS(s) () 00055 #endif*/ 00056 00057 /* heuristic.c 00058 PROBABILITY best_char_rating 00059 _ARGS((CHUNKS_RECORD *chunks_record, 00060 int first_chunk, 00061 int last_chunk, 00062 char *word)); 00063 00064 STATE *first_segmentation 00065 _ARGS((CHUNKS_RECORD *chunks_record)); 00066 00067 FLOAT32 gap_priority 00068 _ARGS((CHUNKS_RECORD *chunks_record, 00069 STATE *state, 00070 int num_joints)); 00071 00072 FLOAT32 match_priority 00073 _ARGS((CHUNKS_RECORD *chunks_record, 00074 STATE *state, 00075 STATE *old_state, 00076 int num_joints)); 00077 00078 FLOAT32 frequency_priority 00079 _ARGS((STATE *state, 00080 STATE *old_state, 00081 int num_joints)); 00082 00083 STATE *pick_good_segmentation 00084 _ARGS((CHUNKS_RECORD *chunks_record)); 00085 00086 void print_widths 00087 _ARGS((FILE *file, 00088 char *string, 00089 WIDTH_RECORD *width_array)); 00090 00091 FLOAT32 prioritize_state 00092 _ARGS((CHUNKS_RECORD *chunks_record, 00093 SEARCH_RECORD *the_search, 00094 STATE *old_state)); 00095 00096 FLOAT32 rating_priority 00097 _ARGS((CHUNKS_RECORD *chunks_record, 00098 STATE *state, 00099 STATE *old_state, 00100 int num_joints)); 00101 00102 WIDTH_RECORD *state_char_widths 00103 _ARGS((WIDTH_RECORD *chunk_widths, 00104 STATE *state, 00105 int num_joints, 00106 SEARCH_STATE *search_state)); 00107 00108 FLOAT32 width_priority 00109 _ARGS((CHUNKS_RECORD *chunks_record, 00110 STATE *state, 00111 int num_joints)); 00112 00113 #undef _ARGS 00114 */ 00115 #endif