2008-05-13  Hector Palacios  <hlp@proton>

	* Makefile, cartesian.hpp, cf2cs.cc, cf2cs.h, clauses.cc, clauses.hpp, lxi_dnf.cc, main.cc, main.hpp, parser-global.hpp, parser.h, parser.y, pddl.lex, planner.h, prime-impl.cc, prime-impl.hpp, t0c.cc, t0c_cont.cc:
	Version usada para CLG - submitted to ICAPS 2008

	* main.hpp: set_atom2str()

	* Makefile: etags, etc

2008-04-30  Hector Palacios  <hlp@proton>

	* t0c_cont.cc: - option for propagate k -> k0

	* t0c.cc: - bug in relevance: negation was wrongly propagated
	and was including relevance because Initial situation
	- notion of t* relevant to L
	- Init' and tags are generated using that
	- Only merges that are all relevant to L are generated
	- option for propagate k -> k0
	- Merge with SL/t can be generated eventhough
	KL/t does not exist, because SL/T can be obtained from K-t.

	* cf2cs.cc: - static atoms to included observations
	- cdisjm only for static atoms
	- table of meaning of short names
	- option for propagate k -> k0
	- static disjunctions propagate to KL/t

2008-04-29  Hector Palacios  <hlp@proton>

	* main.cc: set_atoms2str
	non printing static atoms, as is done in t0c.cc after adding observations

2008-04-22  Hector Palacios  <hlp@proton>

	* Makefile: test suite for CLG

2008-04-21  Hector Palacios  <hlp@proton>

	* t0c_cont.cc: * ramifications in sync:
	closures nunca borran nada,
	KL -> KL/T.

	Si accion o action compilation:
	KL/T -> -K-L/T, for any tag including empty

	Ramificaciones en Observation

	* t0c.cc: * ramifications in sync:
	closures nunca borran nada,
	KL -> KL/T.

	Si accion o action compilation:
	KL/T -> -K-L/T, for any tag including empty

	* cf2cs.cc: * ramifications in sync:
	closures nunca borran nada,
	KL -> KL/T.

	Si accion o action compilation:
	KL/T -> -K-L/T, for any tag including empty

	* Action Compilation deshabilitado

2008-04-19  Hector Palacios  <hlp@proton>

	* t0c.cc: Generacion de tags
	algo de propagation

	* cf2cs.cc: variables observables: Ox

2008-04-11  Hector Palacios  <hlp@proton>

	* Makefile: por defecto -static

	* cf2cs.cc, t0c_cont.cc: - atomos obs(X) para merge imply with Mx

	* cf2cs.cc, t0c.cc, t0c_cont.cc: Quitadas algunas ramificaciones.
	Aun: -mac y action compilation

	se agrego -fp para hacer algunas ramificaciones faltantes.

	hay que ajustar generacion de tags, etc.

2008-04-08  Hector Palacios  <hlp@proton>

	* t0c_cont.cc: - fixing t0 fail predicate

	* t0c.cc: - option for closure of deleting SL/t. Now disable by default

	* cf2cs.cc: - short names
	- option for closure of deleting SL/t. Now disable by default

	* planner.h: aumentado MAX_SCHEMA for parsing of new-d.pddl

	* main.cc: - verbosity
	- conversion de goals con Or

	* parser.y: fatal if object not rescued

2008-01-22  Hector Palacios  <hlp@proton>

	* cf2cs.cc: - menos verbosity
	- -mac y -cdisjk0 deshabilitados (via flags activate) por defecto,
	usar -cnamac para re-habilitar

2007-12-20  Hector Palacios  <hlp@proton>

	* parser.y: recursivos a la izquierda

2007-12-09  Hector Palacios  <hlp@proton>

	* cf2cs.cc: Staticos para oneof. Esta haciendo doble trabajo.
	Ineficiente y dificil de mantener, pero parece correcto.

2007-12-07  Hector Palacios  <hlp@proton>

	* planner.h: clear of Actions

	* pddl.lex: for compiling in ubuntu

	* parser.y: headers for compiling in ubuntu

2007-11-30  Hector Palacios  <hlp@proton>

	* t0c.cc: faltaba alguna propagacion

	* cf2cs.cc: -mac solo sobre clausulas,
	pero ahora si hacen falta los oneof.

2007-11-28  Hector Palacios  <hlp@proton>

	* t0c_cont.cc: when to prepare actions

2007-11-24  Hector Palacios  <hlp@proton>

	* t0c_cont.cc: habia cambiado variable para detectar observaciones

	* cf2cs.cc: faltaba un register Entry

	* main.cc: no agregar ERROR a true_literals

	* todo: *** empty log message ***

2007-11-23  Hector Palacios  <hlp@proton>

	* todo: *** empty log message ***

	* cf2cs.cc, t0c.cc: sigue habiendo bug, pero
	tambien otro bug con use_contingent_m_rules

	* main.cc: faltaba llamada a registerExit
	agregar some other true-literals
	movido operator<< para Act y When

2007-11-14  Hector Palacios  <hlp@proton>

	* t0c.cc: bug descubierto mientras hacia ocaml

2007-11-05  Hector Palacios  <hlp@proton>

	* parser.y: no se permiten not en collectFormulaAtoms

	* main.cc: correccion temporal a computeReachable

2007-11-04  Hector Palacios  <hlp@proton>

	* todo: New file.

	* main.hpp: borradas cosas no usadas

	* main.cc: parseArg ahora toma argv

	* cf2cs.cc, cf2cs.h: parseArg ahora toma argv y argc

2007-11-02  Hector Palacios  <hlp@proton>

	* Makefile, cartesian.cc, cartesian.hpp, cconf.cc, cf2cs.H, cf2cs.cc, cf2cs.h, clauses.cc, clauses.hpp, cuts.cc, label2.cc, lxi_dnf.cc, main.cc, main.hpp, parser-global.hpp, parser.h, parser.y, pddl.lex, planner.h, prime-impl-test.cc, prime-impl.cc, prime-impl.hpp, simple.cc, t0c.cc, t0c_cont.cc, test-label.cc:
	5.4 = after major refactoring

	* Makefile, cf2cs.cc, cf2cs.h, main.cc, main.hpp, t0c.cc:
	Major refactoring. Moviendo casi todo initInstanceDB a main.cc

	* cf2cs.h, parser.h, planner.h: compilacion condicional, etc

	* cf2cs.h: *** empty log message ***

2007-10-31  Hector Palacios  <hlp@proton>

	* Makefile: nuevos archivos por separacion entre parser y traduccion

	* main.hpp, parser-global.hpp, main.cc: New file.

	* cf2cs.cc: separacion de traduccion cf2cs vs el parser
	creacion de main.cc

	* t0c_cont.cc:  ramifica de k(.) a m(.) siempre que los Mx existen
	precondiciones cuando esta habilitado: use_k_preconds

	* t0c.cc: ramifica de k(.) a m(.) siempre que los Mx existen

	* parser.y:
	usa variable de main.cc en vez de cf2cs.cc: observation_detected

	* Makefile, cartesian.cc, cartesian.hpp, cconf.cc, cf2cs.H, cf2cs.cc, clauses.cc, clauses.hpp, cuts.cc, label2.cc, lxi_dnf.cc, parser.h, parser.y, pddl.lex, planner.h, prime-impl-test.cc, prime-impl.cc, prime-impl.hpp, simple.cc, t0c.cc, t0c_cont.cc, test-label.cc:
	Preparando separacion entre parser y planner

2007-10-24  Hector Palacios  <hlp@proton>

	* cf2cs.cc, t0c.cc: Cleaning action was unsound

2007-10-21  Hector Palacios  <hlp@proton>

	* cf2cs.cc, t0c_cont.cc: Corrigiendo bugs sobre precs en contigent.
	En alguna configuracion, daba error porque se asumia que podia crear atomos m(.)

2007-10-03  Hector Palacios  <hlp@proton>

	* cf2cs.cc, t0c.cc: Calculo de new width

2007-08-05  Hector Palacios  <hlp@proton>

	* cf2cs.cc: new option -t0 for T0
	refactoring in make_k_0
	new options for contingent: ahora muchas reglas son opcionales

	* planner.h:
	reimplementation of printing of observations: deterministic vs non-deterministic.

	* t0c.cc, t0c_cont.cc:
	soporte de cambio para hacer mas reglas opcionales.

2007-07-14  Hector Palacios  <hlp@proton>

	* cf2cs.cc: rewritting argv processing

	* cf2cs.cc: - no acceso a t0 viejo, que igual esta buggy.
	- no acceso a -cac (action compilation para contingent)
	- por defecto full_cancellation

	* Makefile: eliminando t0 viejo, ajustando el resto.

2007-07-11  Hector Palacios  <hlp@proton>

	* Makefile: target: gz

	* t0c.cc: SL/t rules

	* cf2cs.cc: otro dummy
	nuevas estadisticas
	opcion para usar SL/t

	* t0c_cont.cc: asserts para evitar action compilation, etc

2007-06-10  Hector Palacios  <hlp@proton>

	* t0c_cont.cc: No semantic change.

	* t0c.cc: corrections to do_all_merges,
	that fully implementes rule:
	\bigand_i (KL/tagi || K-tagi@0) -> KL

	* cf2cs.cc: minor bug

2007-05-20  Hector Palacios  <hlp@proton>

	* cf2cs.cc: Opcion para generar merge completos para
	contingent.

	* t0c.cc: Opcion para generar reglas completas en
	contingent

2007-05-14  Hector Palacios  <hlp@proton>

	* t0c_cont.cc: observations branches are monotonic
	so, they doesn't delete K-x, etc...

	* cf2cs.cc:
	assert_lit has new parameter for avoiding deleting complements

2007-05-05  Hector Palacios  <hlp@proton>

	* cf2cs.cc, t0c.cc: Solo ramificar: KL/tag -> -K-L/tag
	cuando se CAUSA KL/tag, es decir, no en merges.
	Se hace en: efectos conds, effectos unconds, act-compilation de AAAI06

	El merge de k0 no debe ramificar.

	* cf2cs.cc: corregida estadistica de Num of atoms

	* t0c.cc: bug en relevancia corregido:
	no generaba todos los
	K-xi/xj

	* cf2cs.cc, t0c_cont.cc: Evitando que FF borre action de fail_check

2007-05-04  Hector Palacios  <hlp@proton>

	* t0c_cont.cc: cambio general para HABILITAR y deshabilitar
	closures

	* t0c_cont.cc: Eliminaba ramificaciones...

	* t0c.cc: repaired bug in print_width
	don't use "not used" cond-effects

	* cf2cs.cc:
	non used Cond-effects of the problem are propagated (are not generated in t0c)
	Non-used Cond-effects comes from a new version of t0c_cont::prepare_actions(.)

	* t0c_cont.cc:
	prepare_actions del cond effects with contradictory conditions

	* cf2cs.cc: - Comm option for delete free and changed to be done
	out of planner.h
	- Suporte para nuevos atomos que permitan habilitar
	y deshabililtar closures de t0_contingent
	- por defecto: new_clean_actions

	* planner.h: Don't print actions with empty effect

2007-05-03  Hector Palacios  <hlp@proton>

	* planner.h: command line option for delete_free PDDL

	* t0c_cont.cc: Se pueden desactivar algunos closure.

	* t0c.cc: - Nuevas reglas de relevancia,
	tales que si oneof(x1 ... xn)
	Entonces tenemos tag K-x1/xn, etc

2007-04-25  Hector Palacios  <hlp@proton>

	* t0c.cc: - New cleaning of actions
	- Activated and Corrected adding of new tags to Init:
	K-x/y for x, y in the same oneof, etc...
	Still need to be sure that binary clauses are well managed,
	and "or" that are not "oneof"

2007-04-23  Hector Palacios  <hlp@proton>

	* cf2cs.cc: - refactor to collect_init_uncertainty()
	I though it was needed to be calculated before static_atoms, etc

	* parser.y: Minor changes.
	Now when a condition is delete and we get a
	cond-effect with empty condition,
	transfer their effects to the actions.

2007-04-20  Hector Palacios  <hlp@proton>

	* Makefile, cartesian.cc, cartesian.hpp, cconf.cc, cf2cs.H, cf2cs.cc, clauses.cc, clauses.hpp, cuts.cc, label2.cc, lxi_dnf.cc, parser.h, parser.y, pddl.lex, planner.h, prime-impl-test.cc, prime-impl.cc, prime-impl.hpp, simple.cc, t0c.cc, t0c_cont.cc, test-label.cc:
	Version usada para ICAPS 2007.

	* cf2cs.cc: no deberia hacer diferencia
	pase como parametro igual a los parametros por defecto,
	solo que no quiero tocar el codigo.

	* Makefile: pre 4.0

	* t0c.cc: width calculated only for preconditions and goal literals.

	* parser.y: hay un bug relacionado con los conds.
	normalmente los atomos mencionados aqui igual aparecen,
	pero el codigo para detectarlos en condiciones esta incorrecto.

2007-04-17  Hector Palacios  <hlp@proton>

	* cf2cs.cc: check contradiction...

	* parser.y: bug en operatorAtoms.
	no entiendo como no funcionaba...

	* t0c_cont.cc: Action compilation not for:
	x & C -> -x

	* cf2cs.cc: - Static atoms should be calculated after
	cache for Whens, etc

2007-04-16  Hector Palacios  <hlp@proton>

	* t0c.cc: - Faltaban algunos atomos en initial state

	* cf2cs.cc: - Otras correcciones a disjunctions_is_static
	pero sigue inestable.
	- static_atoms_oneof debe referirse a
	atomos en algun oneof statico,
	no que necesariamente el atomo es statico.

	* t0c_cont.cc: - detalles

	* planner.h: Desactivada una assertion que puede ser falsa.
	Habria que poner otra en su lugar, pero es muy compleja.
	Creo involucra una verificacion SAT.
	Quizas puede hacerse un caso simple

	* cf2cs.cc: - merge_act_comp also for M0x :-)
	- Sigue diciendo no static en algunos casos

	* cf2cs.cc: - Correcciones a disjunction_is_static
	y a merge_act_comp. No creo que esté listo,
	pero esto se comporta mas o menos

	* cuts.cc: - merge_act_compilation

2007-04-15  Hector Palacios  <hlp@proton>

	* cf2cs.cc: - Corregido algunos bugs de Kp. Parece que funciona
	- Tenia error: propagaba en K0.

	* t0c_cont.cc: clean action with mutex also
	for -K l/tag

	* cf2cs.cc: - static_atoms recalculated.
	Estaba generando error en contigent.
	Probablemente en otros lugares porque se referia a atomos antiguos.
	- Merge de oneof sobre Mx.

	* planner.h: opcion para delete-free.
	no genera pddl sintacticamente correcto,
	pero los errores son mas faciles de corregir
	que hacerlo a mano.

2007-04-14  Hector Palacios  <hlp@proton>

	* t0c_cont.cc: - correccion a action_comp_mutex()
	- clean_act( When& w, string name )
	para quitar algunas reglas que eliminan
	las traducciones de las generadas por
	 action_comp_mutex()

	* t0c.cc: - inverse of tags
	- cleaning of action from contingent act compilation

	* cf2cs.cc: Static of oneof

	* t0c_cont.cc: action_comp_mutex() que modifica reglas
	que dependen de incertidumbre para garantizar
	persistencia. A la version actual le faltan reglas
	en varios casos.

	Seria mejor que recibiera una accion como parametro
	y asi juntarla con prepara_action.

	* t0c.cc: - deshabilitados simple tags,
	usados para alguna persistencia en contingent.
	Otras reglas lo suplantaran.
	- oneof_with(xi) que retorna los atomos en xor con xi.
	En principio los oneof, pero podria extenderse a mutex transparentemente.

	* planner.h: - addWhen for Act
	- back() for Conds

	* cf2cs.cc: calc_reqs(): redo the when-pointer array,
	the cache of actions effects and requirements.

	support for new action compilation for mutex,
	used in t0-contigent

2007-04-13  Hector Palacios  <hlp@proton>

	* t0c.cc: - las disjunciones que son oneof se recuerdan
	- For (oneof x1 ... xn) simple tags
	Kxi/xk, K-xi/xj, etc...
	pero parece que no hacen falta ya.
	Los dejo porque la version es correcta.
	Los desactivare en el proximo check-in.
	- Ramificaciones para a: C -> X
	   -K-C -> -K-X & -M-X
	para mantener Kx y Mx on sync

	* cf2cs.cc: - merge of action compilation receive a prefix
	(to distinguish between k and k0)

2007-04-12  Hector Palacios  <hlp@proton>

	* t0c_cont.cc: merge imply ahora bien para m,
	es decir, usa m0(.)

	* cf2cs.cc: Crea m0 atoms

	* cf2cs.cc: - merge_act for k0

	* t0c.cc: - Si contingent, para disjuncion initial
	a || b, añade tags a/-b, b/-a
	- Si contingent, ramificaciones tambien a k0(.)
	cuando atomo es static

	* t0c_cont.cc: - ramificaciones correctas en efectos de observaciones:
	solo Kx -> Kx/tag
	- ramificaciones correctas en cond-effects de
	observaciones
	- merge_imply propaga: k0 -> k para static atoms
	- corregido bug en merge_imply_l_tag
	Rechazaba cuando habia muchos tags,
	en vez de rechazar tags > 1

	* cf2cs.cc: refactoring of merge_act_comp to be used with k0(.)

	* cf2cs.cc: assert_lit ahora puede usar para observaciones.
	Ramificacion negativa opcional

	* t0c.cc: - corrected bug in prop_support:
	estaba ramificando demas
	- introduced ptag

	* cf2cs.cc: static atoms...

2007-04-11  Hector Palacios  <hlp@proton>

	* cf2cs.cc: - Refactoring of make_merge_act(),
	using the new function disjunction_is_static.
	Preparing for merging other atoms different of k(.)

	* t0c.cc: - Definicion modificada de relevance.
	Preconds doesn't pass uncertainty
	- Print width of the problem

	* t0c_cont.cc: no eliminar l/tag si es usado en un merge.

	* cf2cs.cc: En la instanciacion se usan atomos mencionados
	en las condiciones. Para ello se modifico operatorAtoms en parser.y
	En realidad deberian simplificarse las acciones:
	cond-effects con atomos que aparezcan y sean staticos: true.
	si no aparecen, asumir false.

	* parser.y: - predicates debugging. Falla en algun caso
	que no recuerdo ahora.
	- operatorAtoms puede retornar las condiciones
	mencionadas.

	* t0c.cc: - using relevance for calculating tags.
	Had to refactor treatment of disjunctions.
	Still a mess

	* cf2cs.cc: - clean_action option: -nca
	- use_relevance option: -nr

2007-04-10  Hector Palacios  <hlp@proton>

	* t0c.cc: - refactoring and correction of cleaning.
	reparing an error on contingent

2007-04-01  Hector Palacios  <hlp@proton>

	* cf2cs.cc: Merge for contingent assume oneof as XOR.
	It allows clousure, etc.

	* t0c_cont.cc: Starting unifing of both files.
	Seems to work. Clean up later.

	* planner.h: branches for contingent
	MAX_SCHEMA increased

2007-03-30  Hector Palacios  <hlp@proton>

	* planner.h: modificaciones para hacer branches.
	solo si imprimen si la accion es una observacion

	* planner.h: refactoring: created Conds clause.
	Afterwards, it will be used to create branches

2007-03-24  Hector Palacios  <hlp@proton>

	* cf2cs.cc, t0c.cc, t0c_cont.cc: Reparaciones varias a contingent:
	- KL -> -K-L, ML, -M-L
	para ello hizo falta refactoring de
	los k(l), creando una funcion.

	* cf2cs.cc: - Corrections a merge of action compilation.
	Oneof incorporate disjuntions like (-atom, atom)
	for every simple unknown atom.
	Should be separated
	- Repared: an observation disappear

2007-03-10  Hector Palacios  <hlp@proton>

	* parser.y: borrando cache incorrecta e innecesario.
	Moraleja1: confia en el profiler y lo que reporta 1ro.
	Moraleja2: desconfia de funciones de hash

	* cuts.cc: funciones de hash, etc

	* planner.h: Otro numero para ATOMHASHSIZE
	aunque no pace hacer falta

	* cf2cs.cc: Cambio en funcion de hash para atoms

2007-03-09  Hector Palacios  <hlp@proton>

	* cf2cs.cc: Ya no imprime los Or (mucha informacion)
	allow_flag permite evitar que los merge de action-compilation
	usen flags. En algunos problemas produces serios dead-ends, como en Logistics (usando t0)

	* planner.h: de :cond_effect a :condeffect

	* t0c.cc: todel moved out as atoms_p_todel,
	to avoid printing them.

	also desactive any rule that had
	an atom_to_del in its condition.

	* cf2cs.cc: introduced atoms_p_todel:
	atoms that can be ignore by the final PDDL.
	Then, they are not printed.

	Also, atoms of the initial state are created
	after init is cleaned.

2007-03-08  Hector Palacios  <hlp@proton>

	* t0c.cc: Huge improvement on calc_propagate.
	Last problem: copying of set. Cartesian product, etc.

	* cf2cs.cc:
	introducing litModEff: a cache of literales affecting other literals

	* t0c.cc: small correction to update_q.
	haven't been tested, but make sense.
	It's going to be rewrite anyway

	* t0c.cc: some refactors and improvements

	* t0c.cc: option for not using clause b on tag propagation
	refactoring of calc_tags_propagate

	* cf2cs.cc: option for not using clause b on tag propagation

2007-03-04  Hector Palacios  <hlp@proton>

	* t0c_cont.cc: Generalizacion de merge.
	Ahora los PDDLs (para heuristica o progression) generan las mismas acciones.
	Solo que el de heuristica tambien usa Mx.
	Para ello hice un cache en la creacion de merge.

	* t0c.cc: init_tags ya no es impreso fuera, sino init_atoms,
	que deben ser creados despues de crear las acciones (al menos asi funciona).
	Necesito gran clean-up.

	Se normalizo que cuando se agrega k(algo), se propaga en general.
	Aun no es seguro que este en todos lados.
	Tambien necesita gran clean-up.

	Arreglado que atoms_p[i].index == i

	* cf2cs.cc: change of init_atoms of t0c
	merge of t0c_cont

	* lxi_dnf.cc: Index de accion incorrecto

	* Makefile: update para testing after compilation

	* cf2cs.cc: Ajustes en k(.), m(.), etc. Needs refactoring.

	* t0c_cont.cc: Merge for L/t & {M,K}t -> {M,K}L, etc...
	Copy preconds to conds

	* parser.y: no special pseudo-action observation,
	but action with field observe.

	* t0c.cc: Refactoring of merge
	Generalization for generating contingent merge.

	* lxi_dnf.cc: new calling format of make_k_0.
	It will need more refactoring

	* cf2cs.cc:
	Trying to copy actions to preconds when contingent heuristic.
	Doesn't work yet.
	I had to fix make_k_0. It still need refactoring

2007-03-02  Hector Palacios  <hlp@proton>

	* planner.h: Correccion a dumpPDDL para
	que imprima observaciones

2007-03-01  Hector Palacios  <hlp@proton>

	* cf2cs.cc: - Separacion de observaciones
	- refactoring en make_k_0,
	separando copia de atomos,
	- printNewPDDL ahora usa dumpPDDL
	de acciones.
	el mismo metodo se usa para imprimir observaciones
	- parametro -ch para que genere PDDL
	con informacion para heuristica
	- llamada a create_static_copies

	* planner.h: dumpPDDL para Acts
	atributo de observaciones
	OJO: requiere limpieza

	* t0c_cont.cc: New file.

2007-02-28  Hector Palacios  <hlp@proton>

	* cf2cs.cc: Continuando refactoring para Mx.
	ahora puede usarse k(.) y m(.)
	independientemente, aunque queda
	pendiente extraer clase.

	* cf2cs.cc: make_k_0 ahora recibe el prefijo
	preparacion para usar prefijo "M" para contingent

	* lxi_dnf.cc, t0c.cc: make_k_0 ahora recibe el prefijo

	* t0c.cc: - Propagacion desde KL debe tambien quitar -K-L/*
	- use_s0s no usa los atoms -K-L en cancellations.
	probablemente deba simplificarse.
	- is_k0_lit movido afuera

	* cf2cs.cc: Reorganizacion de natoms_p,
	para simplificar impresion de PDDL.
	Preparando extraccion de clase...

	* cf2cs.cc, t0c.cc: desactivar When sin efectos, deberia estar
	en post-proceso de Whens.

	* t0c.cc: clean_actions in t0c dejaba cond_effects con efecto vacio

	* t0c.cc: some assertions
	refactoring of add_eff
	persiste error en clean_actions que daña el full cancellation

	* planner.h: some assertions.

2007-02-27  Hector Palacios  <hlp@proton>

	* parser.h, pddl.lex: no special pseudo-action observation,
	but action with field observe.

	* planner.h: Comentadas acciones en encabezado.
	No parecen necesarias

	* cf2cs.cc: Ajustes en forma de prop_k.

	* t0c.cc: Bug corregido: en simple cancellation, propagar desde -K-L.

2007-02-06  Hector Palacios  <hlp@proton>

	* cf2cs.cc: ipc5 blocks p03 reportaba error.
	Razon: atomos en Init no eran reachable.

	* Makefile, cartesian.hpp, cf2cs.H, cf2cs.cc, clauses.cc, clauses.hpp, lxi_dnf.cc, parser.h, parser.y, pddl.lex, planner.h, prime-impl.cc, prime-impl.hpp, t0c.cc:
	Nueva version. Incluye sound version of t0-ipc5.
	Full and s0-tagged not ready yet.
	Tiempos de t0 are similar to ipc5-t0.

2007-02-05  Hector Palacios  <hlp@proton>

	* t0c.cc: - New hashing function for being used in consistency,
	-- myhash changed to use it.
	-- hash_q for seeing performance of hash_map
	- Some clean up: lit2tags_t type introduced
	- Propagation of tags Always includes clause (b).
	Before it was used only with full cancellation
	- Init tags for fast-t0 was redone.
	All this needs clean up, but now, I just needs it to work.
	- clean_actions() deletes any tags that
	doesn't appear on a condition of rule or merge.

	* cf2cs.cc: Reorganized sets of unknown, etc
	Fixed propagation: only on merge or action compilation.
	Call to clean_actions after generated. For fast-t0 or s0, preselect atoms to label is better

	* cf2cs.H: using hash_map for consistency

2007-01-31  Hector Palacios  <hlp@proton>

	* t0c.cc: - Simple + Full cancellation + Ramification on place:
	* Like draft
	* For iterating over { KL/tag } for C -> L,
	also iterates over { K-L/tag }
	because of modified version of add_eff
	* to distinguish simple cancellation on tag generation vs
	simple cancelattion on rules

	- Init tags generation

2007-01-26  Hector Palacios  <hlp@proton>

	* cf2cs.cc, t0c.cc:
	-s0 mas cerca de funcionar, independiente de parametros.
	-add_eff en t0c.cc para que no fuerce creacion de atomos
	-normalizacion de opciones en cf2cs.cc

2007-01-21  Hector Palacios  <hlp@proton>

	* t0c.cc: - changed defaults, trying to be similar to t0-ipc5

	* cf2cs.cc: - addWhen() deprecated
	- changed defaults, trying to be similar to t0-ipc5

	* Makefile: Defined USE_CLAUSE

	* lxi_dnf.cc, parser.y, planner.h: addWhen() deprecated
	because it make uneffective the detection
	for compact cond effects

2006-10-25  Hector Palacios  <hlp@proton>

	* parser.y:
	Copyright, agregado ahora porque haciendo merge con parser.y de cconf

	* parser.y: Macro USE_CLAUSE para hacer merge con parser.y de cconf

2006-10-19  Hector Palacios  <hlp@proton>

	* cf2cs.cc, t0c.cc: opcion para hacer merge solo de goals,
	fue extendida para tambien hacer de precondiciones.
	No testeado.

2006-09-26  Hector Palacios  <hlp@proton>

	* cf2cs.cc, t0c.cc:
	Opcion -mog para generar merge de tags solo para literales a lograr en el goal

2006-09-25  Hector Palacios  <hlp@proton>

	* cf2cs.cc, t0c.cc: Post vacaciones. No estoy seguro que sea estable.
	Al menos hay cambio para generar literales de goal
	que supongo soportan formulas complejas.

2006-06-30  Hector Palacios  <hlp@proton>

	* planner.h:
	correccion a When para eficiencia al detectar otras reglas.

	* Makefile, cf2cs.cc:
	propagar o no ramificaciones. En tags incompletos, no es sound.

	* t0c.cc: propagar ramificaciones o no.

2006-06-28  Hector Palacios  <hlp@proton>

	* cf2cs.cc, t0c.cc: calc tags, tenia bug

	* cf2cs.cc, t0c.cc: Mejora a calc_tags. Fixpoint with queue of changes

	* cuts.cc: New file.

	* Makefile, cf2cs.cc, t0c.cc: gran modificacion para ijcai:
	- general support rule
	- two options for cancellation rule
	- tres optiones para tags: s0, initial disjunctions, and general tags

	* parser.y: tenia parametro inutil en formulaAtoms

	* planner.h:
	addWhen de act, ahora evita tener dos reglas con iguales condiciones.

2006-06-27  Hector Palacios  <hlp@proton>

	* cf2cs.cc: Pequeños bugs

	* t0c.cc: Trazas

	* cf2cs.cc: Estadisticas para nro de cond effects

	* prime-impl.cc: Assertion added

	* t0c.cc: Mejora a prime implicates. Var(tag = v) = v

	* cf2cs.cc, t0c.cc: Correccion a option s0s, y options initial disj.
	Aun no con simple cancellation.

	* Makefile: *** empty log message ***

	* cf2cs.cc, t0c.cc: options para disjunciones en I y s0.
	Aun buggy. separacion de header para pre-compilacion

2006-06-26  Hector Palacios  <hlp@proton>

	* cf2cs.H: New file.

	* cf2cs.cc, t0c.cc:
	Mejora en theoria para prime implicates. Menos variables.
	Tambien se eliminan algunos prime implicates de la forma
	xi || -xi, para xi simple-unknown

2006-06-24  Hector Palacios  <hlp@proton>

	* cf2cs.cc: Details on backward reachability

	* cf2cs.cc: Reachability backwards from goal

	* parser.y: corregido bug en operatorAtomWhen
	cuando static_atoms es NULL

	* planner.h: dump para when sin arguments

	* t0c.cc: New basic splitting:
	- all combinations of maximals for K l/tag
	- one rule for all maximals for K-ci/tagi

2006-06-23  Hector Palacios  <hlp@proton>

	* Makefile, cf2cs.cc, t0c.cc:
	Opcion para generar KC1/tag1 & .. & KCn/tagn -> KL/tag
	con tag = union(tagi) y generando todas las opciones

	* Makefile, cf2cs.cc, prime-impl.cc, prime-impl.hpp, t0c.cc:
	prime implicate with filtering.

2006-06-22  Hector Palacios  <hlp@proton>

	* cf2cs.cc, t0c.cc: limitacion de tamaño de tags
	correccion de ramificaciones

	* Makefile, cf2cs.cc, t0c.cc: cambios menores

	* cf2cs.cc, t0c.cc:
	Funcionan varios, incluidos comm, coins, room, cube, bomb.
	pero no ring por el largest

	* Makefile, cf2cs.cc, t0c.cc:
	funcionar mejor comm, porque ramificacion de Init

2006-06-21  Hector Palacios  <hlp@proton>

	* Makefile, cf2cs.cc, prime-impl.cc, t0c.cc: Funciona el emptyroom

2006-06-20  Hector Palacios  <hlp@proton>

	* Makefile, cf2cs.cc, clauses.cc, clauses.hpp, t0c.cc:
	Funcionan problemas de juguete para t0c

2006-06-19  Hector Palacios  <hlp@proton>

	* Makefile, cf2cs.cc, parser.y, prime-impl.cc: Compila version para t0c

	* clauses.cc, clauses.hpp, t0c.cc: New file.

2006-06-18  Hector Palacios  <hlp@proton>

	* prime-impl.cc: Separate header from source

	* prime-impl.hpp: separate header from sources

	* prime-impl-test.cc: New file.

2006-06-17  Hector Palacios  <hlp@proton>

	* cf2cs.cc: Cambios separando oneof de or.
	Buggy

	* parser.y: formulaLiterals

2006-06-16  Hector Palacios  <hlp@proton>

	* prime-impl.hpp: Primera version que parece funcionar.

	* prime-impl.cc: Programa de prueba

2006-06-15  Hector Palacios  <hlp@proton>

	* prime-impl.cc, prime-impl.hpp: New file.

2006-05-26  Hector Palacios  <hlp@proton>

	* cf2cs.cc: Corregido bug que afectaba en COINS (IPC5).
	En -kp faltaba borrar cuando una accion borraba
	(siempre) un atomo L.
	En -t0 faltaba crear un flag para impedir el merge en este caso.

	Pero esto no es suficiente.
	Parecen necesarios los mutexes.

2006-05-21  Hector Palacios  <hlp@proton>

	* Makefile: lxi_dnf.cc added

	* lxi_dnf.cc: to be included in cf2cs

	* Makefile, cartesian.cc, cartesian.hpp, cconf.cc, cf2cs.cc, label2.cc, parser.h, parser.y, pddl.lex, planner.h, simple.cc, test-label.cc:
	Version almost hopefully ready for IPC-5

	* cf2cs.cc: Correccion en generacion de merge

	* cf2cs.cc, parser.y:
	Evitando que lidie con situaciones iniciales con or

	* Makefile: parser.h requirement

	* cf2cs.cc: More debugging

	* Makefile: cartesian.hpp

	* Makefile: optimizacion

	* parser.y: error cuando r2a era nulo.
	fallaba cconf

2006-05-20  Hector Palacios  <hlp@proton>

	* parser.y: No añadia condiciones negativas.
	Curioso que no haya salido hasta ahora.

	* cf2cs.cc: Adding a debug option

	* Makefile, cf2cs.cc, parser.y, pddl.lex, planner.h:
	nuevos requerimientos PDDL

2006-05-18  Hector Palacios  <hlp@proton>

	* cf2cs.cc: Minor bugs.

2006-05-03  Hector Palacios  <hlp@proton>

	* cf2cs.cc: agregado isComplexFormula
	para saber si una formula es compleja,
	es decir, que usa Or, o not de formulas.
	Esta se usa para no generar el PDDL
	cuando el goal es complejo.
	FF no maneja bien goals usados en IPC5
	y termina reportando planes incorrectos.

	* parser.y: agregado isComplexFormula
	para saber si una formula es compleja,
	es decir, que usa Or, o not de formulas.

	* parser.y: pequeños bugs: operatorAtomsWhen.
	Version compatible con cconf para ipc5.
	La idea es que parser.y sea exactamente el mismo.

	* cf2cs.cc: pequeños bugs: operatorAtomsWhen

2006-05-01  Hector Palacios  <hlp@proton>

	* cf2cs.cc: Small bug for rejecting an inconsisten action to
	be processed by make_k_0_plus

	* parser.y: Reject actions without any effect

	* planner.h: Mas niveles de debugging.

	* cf2cs.cc: Habia bugs en operatorAtomsWhen.
	Hubo que pasarle otros argumentos.

	* parser.y: Habia bugs en operatorAtomsWhen.

	* cf2cs.cc: Acepta precondiciones negativas de atomos estaticos.
	Tambien or en condiciones.
	El goal de cualquier tipo es generado correctamente.

	* parser.y: Acepta precondiciones negativas de atomos estaticos.
	Tambien or en condiciones.

2006-04-29  Hector Palacios  <hlp@proton>

	* parser.y: Convierte conditions or muy simples:
	(or nada-con-or-1 ... nada-con-or-n ) -> X
	en:
	nada-con-or-1 -> X
	...
	nada-con-or-n -> X

2006-04-27  Hector Palacios  <hlp@proton>

	* cf2cs.cc: Rehice L//xi. Se generan solo merge que realmente
	pueden ser disparados. No hace mucha diferencia en emptyroom.

2006-04-24  Hector Palacios  <hlp@proton>

	* cf2cs.cc: Culminado el merge de action compilation: -mac
	para ser usado con -t0.
	Juntos resuelven cube-ctr-74 en 80s, plan optimo (creo)

2006-04-23  Hector Palacios  <hlp@proton>

	* cf2cs.cc: Cambios menores. Sirve -t0 y -k1 (K(p) AAAI).
	Este ultimo genero en algunos casos el mismo PDDL para
	algun problema. No hice analisis exhaustivo, pero
	es casi exacto.

	Voy al merge.
	Sigue sin verse el tema de las multiples etiquetas en general.

2006-04-17  Hector Palacios  <hlp@proton>

	* cf2cs.cc: New file.

2006-04-10  Hector Palacios  <hlp@proton>

	* Makefile: cconf.cc -> simple.cc

	* simple.cc: New file.

	* cconf.cc: Cleaned of nnf and cnf reference.
	Being renamed to simple.cc

	* cconf.cc: Aplicando k_0^+ a cada atomo desconocido.
	Eso permite quitar el bug anterior.
	Que en principio puede no ser un bug,
	porque podria ser consistente con la interpretacion de K_0.

	* cconf.cc: Quite las trazas de l//xi.
	Hay un bug: haciendo emptyline-4 con goal x3.
	es invalido un plan: right, right, right, merge_x4, left.
	por condicion de carrera entre propagar de K(x4) a k(x3)
	y el hecho de que no se sabe kn(x3) y por lo tanto
	se borra k(x3)

	* parser.y: Cambios para nuevo grounding.
	Se agrego operatorAtomsPartial
	que obtiene solo los atomos que ya pueden instanciarse
	con los parametros.

	* cconf.cc: Nuevo grounding.
	Bastante naive, pero intercala
	reachability con instanciacion, con
	lo que varios dominios no explotan (logistics, por ejemplo).

	* cconf.cc: Funciona inicialmente el L//xi.
	Para ello elimina atomos y no parece escalar muy bien en
	emptyroom y otros.
	Pero resuelve ring, aunque con planes el doble de largos.
	Me preparo para mejorar el grouding, que impide
	cargar algunos logistics

	* parser.y: Intento de poner cache en operatorAtoms.
	No parecio surtir efecto porque hace a lo mas dos
	llamadas, e igual esta copiando conjuntos.
	En todo caso no hace daño. Hay una constante para desactivarlo...

2006-04-08  Hector Palacios  <hlp@proton>

	* cconf.cc: Parece funcionar etiquetado L//xi
	falta verificar con casos mas complejos
	y hacer el merge.

2006-04-06  Hector Palacios  <hlp@proton>

	* cartesian.cc, cartesian.hpp:
	cartesian con verificacion adicional para agregar un conjunto

	* cartesian.hpp: cartesian con predicado.

	* cartesian.cc: Prueba tambien cartesian con predicado

2006-04-02  Hector Palacios  <hlp@proton>

	* cconf.cc: casi nada

	* Makefile, cartesian.cc, cartesian.hpp, cconf.cc, label2.cc, parser.h, parser.y, pddl.lex, planner.h, test-label.cc:
	New file.

