Issue64

Title use namespaces
Priority meta Status chatting
Superseder Nosy List danielk, erez, florian, gabi, jendrik, malte, silvia
Assigned To malte Keywords
Optional summary
issue625: fix naming convention for existing namespaces. 

Sub issues for splitting off individual namespaces:
  evaluators (issue599)
  heuristics (issue599)
  landmarks (issue599)
  lp (issue599)
  merge and shrink (issue599)
  open lists (issue715)
  operator counting (issue599)
  options (issue626)
  pdbs (issue599)
  potentials (issue599)
  search engines (issue603)
  utils (issue607)
  task_utils (issue720)
  ... (create sub issues for separating a new module)

Created on 2010-01-07.18:33:11 by malte, last changed by malte.

Summary
issue625: fix naming convention for existing namespaces. 

Sub issues for splitting off individual namespaces:
  evaluators (issue599)
  heuristics (issue599)
  landmarks (issue599)
  lp (issue599)
  merge and shrink (issue599)
  open lists (issue715)
  operator counting (issue599)
  options (issue626)
  pdbs (issue599)
  potentials (issue599)
  search engines (issue603)
  utils (issue607)
  task_utils (issue720)
  ... (create sub issues for separating a new module)
Files
File name Uploaded Type Edit Remove
dependencies.png florian, 2015-11-10.11:11:50 image/png
Messages
msg6350 (view) Author: malte Date: 2017-05-07.17:58:46
It's hard to answer this without going over all files. Just a quick grep for
files that don't contain the word "namespace" (which is of course not a
sufficient test for testing that everything is OK) shows quite a few files
related to search algorithms that I don't think should be part of the core.

Perhaps it would also be useful to either introduce a namespace for the core, or
to at least have some way of communicating that something is considered part of
the core and hence should not have its own namespace. Right now it's difficult
to tell if it's intentional when something is not put into a namespace.
msg6345 (view) Author: jendrik Date: 2017-05-07.17:40:08
Can anybody think of additional code that we'd like to put into its own namespace? 
If not, we can probably close this issue.
msg6225 (view) Author: danielk Date: 2017-04-26.14:23:23
cross-reference issue720
msg6207 (view) Author: jendrik Date: 2017-04-24.15:54:30
cross-reference issue715
msg5111 (view) Author: florian Date: 2016-01-19.10:55:27
The options namespace was introduced in issue626.
msg5050 (view) Author: florian Date: 2016-01-08.15:39:11
We decided to change the naming convention for namespaces to use lower case
names (like file and directory names) to avoid classes with the same name as
their namespace. Such classes lead to problems with forward declarations, e.g.,
we cannot use "using Options::Options;".
msg4961 (view) Author: florian Date: 2015-12-11.14:06:19
Updated list of current namespaces and links to issues.
msg4903 (view) Author: florian Date: 2015-12-08.19:01:51
We delayed introducing a namespace for the option parser from issue606, because
it currently would introduce a lot of conflicts. We first have to uncouple the
code a bit more.
msg4819 (view) Author: florian Date: 2015-11-20.20:07:44
We discussed to stick with two directories for heuristics and evaluators today.
msg4772 (view) Author: malte Date: 2015-11-11.21:27:41
> Should we make this into a meta issue and create individual issues for the
> parts? For example, one for the "easy" part and one each for search, state,
> task and utility classes?

Sounds good to me. I wouldn't create all of them at the same time, but rather in
a more piecemeal fashion as we get to work on them. For example, "utility
classes" was meant as an example of how one *might* separate out part of the
code into a somewhat coherent component. It wasn't meant as a well-considered
suggestion.

On 1): Ideally, I would like to discuss the Heuristic-ScalarEvaluator merger in
a live discussion with everyone who has an opinion on the matter. For me, the
most difficult question at the moment is how one would name the joint class. If
we can easily come up with a plan for how to merge them, then I'd be in favour
of moving to the final directory structure straight away. If it looks more
complicated, I guess it's OK to start with two directories "evaluators" and
"heuristics" even if they turn out to be short-lived. But as we discussed
before, moving files around is somewhat disruptive w.r.t. merging etc., and
perhaps it's not wise to do it if we can already expect moving them again soon.

On 2): no objections to creating the lp directory. I just wanted to ask the
question because it's a possible objection that some of us might feel more
strongly about. (I don't.)
msg4767 (view) Author: florian Date: 2015-11-11.11:15:14
Splitting off one component at a time sounds good to me. Should we make this
into a meta issue and create individual issues for the parts? For example, one
for the "easy" part and one each for search, state, task and utility classes?

On your questions:

1) I'm assuming we want to change all evaluators into heuristics or all
heuristics into evaluators, and that we don't want to do this all at one time. I
suggest to leave evaluators and heuristics in two directories as long as they
are different. If we make some evaluators into heuristics (or the other way
around) we can move them from one directory to the other. This way we could see
which parts are already translated and which ones aren't. If my assumption is
wrong, a common directory might make more sense.

2) I don't have a strong opinion on having the lp in a subdirectory, but it
could make sense for two reasons: we planned to make the interface more
efficient (issue506) which will probably increase its size, and it is a separate
component that most people can ignore when they start to understand the core
code ("Don't look into directory 'lp' unless you need an LP solver").

I updated the suggestion in the summary.
msg4755 (view) Author: malte Date: 2015-11-10.12:54:10
I understand your concern regarding the search code. We want to avoid mixing
"core code" and "plug-in code". I think that the problem here is that the code
was never designed with "search engine" as an actual abstract interface in mind.

Our heuristics/evaluator interface was designed to make these components
replaceable, but the search code was originally monolithic, and the current
design of SearchEngine was created mainly to reuse code between lazy and eager
search, not to provide a well-thought out general abstraction for search algorithms.

As a consequence, the base class already contains what are essentially
implementation details of lazy and eager search. Some components, such as the
search space, probably shouldn't be there. (I can't see it being useful for
something like symbolic search, if we ever wanted to add that, or to give an
example in the current codebase: I can't see it being useful for iterated search.)


Stepping aside from the concrete discussion about the search code, the more I
think about this, the more uncomfortable I am with us having a discussion about
the directory and namespace structure for all parts of the planner at the same
time. I've now spent around two hours on this comment, editing and deleting
stuff, and thinking about how various parts of the search code work together.
Investing this effort would make sense if we were actually planning to work on
the search code at the moment, but I don't think we are. (But volunteers always
welcome! :-)) There are other parts of the proposed structure that I am also a
bit uncomfortable with, but I am somewhat afraid to mention them because of the
cost of the discussion.


I understand and share the desire to clean up the code by moving files into
subdirectories and creating namespaces, but I think this only makes sense if the
resulting directories are cohesive, i.e., have *strong* internal connections
(thematically and/or in terms of implementation) and *weak* connections to the
rest of the code. In cases like the heuristics or evaluators, this is a given,
and it is easy to move them to a separate place. In many other cases, however,
this cohesion first has to be created because we currently have quite tangled
dependencies. The search code I mentioned at the start is an example: I think
that the "abstract interface" (SearchEngine) currently depends on implementation
details (SearchSpace, SearchNode etc.) in ways that it should not, and
when/before introducing a "search" subdirectory, we should tackle this issue,
e.g. by introducing a new class between SearchEngine and LazySearch/EagerSearch.
(Just as an example -- I suggest we only discuss this in more depth at the point
where we want to work on it.)

To me, the underlying high-level problem is to identify cohesive logical
components in the planner code and then make the code layout (in terms of
directory/file name structure and namespaces) agree better with the partitioning
into logical components than it does currently.

The benefit of this, if done well, is that it can become easier to understand
the overall picture. For example, I would like to be able to say something like
"If you want to implement a new search algorithm, the part of the code that you
want to study in depth is A. Parts B and C are also somewhat relevant, but it's
enough to have a superficial understanding. You don't have to worry at all about
D and E."

I think a more productive way to do this is one component at a time. For
example, we could start with the easy cases. To me, the cases that look easiest
at the moment are the proposed directories "heuristics", "evaluators", "options"
and "lp". All other (new) directories I think need further discussion that I
would rather defer until the point where someone wants to work on this
component. In other words, I'm not happy with the proposed structure for these
others, but I also don't want to start a detailed discussion on them until we're
ready to work on them.


Focusing on the easy cases:

1) Do we want to have a separate directory "heuristics" and "evaluators" or a
single directory for both? I should mention that we are working towards getting
rid of the difference between the two concepts, so they will eventually be the
same thing. (Or at least that's my understanding of our latest discussion on
this topic.)

2) With two relatively small source files, is the LP code large enough for its
own subdirectory? Counting the lines of code for all four suggested new directories:

- evaluators: 470 LOC, 7 cc files
- heuristics: 2968 LOC, 13 cc files
- lp: 674 LOC, 2 cc files
- options: 2165 LOC, 3 cc files
msg4753 (view) Author: florian Date: 2015-11-10.11:41:32
Added cross-reference to issue61 and issue266.
msg4751 (view) Author: florian Date: 2015-11-10.11:11:50
Just for fun, I created a graph of the planner files with edges A --> B if A
includes B. I don't think it will help much with the issue but you can see some
of the plugin dependencies there.
msg4745 (view) Author: florian Date: 2015-11-09.23:40:30
I tried to maintain the 1:1 mapping between namespaces and CMake plugins and I
thought we only wanted two kinds of subdirectories: subdirectories containing
all files of one namespace and subdirectories that group files from namespaces
that are too small to get their own subdirectory.

I tried to update the summary with your suggestions, but I'm not sure if I
understood you completely. Did you want the new subdirectories (utilities for
example) to get their own namespace? their own CMake plugin?
msg4744 (view) Author: malte Date: 2015-11-09.22:06:35
Thanks for the suggestions!

Regarding your last message, I think I understand the suggestion, but I don't
think I understand the underlying rationale. (Or perhaps I don't agree with it.
;-)) I don't think we should have cmake plug-ins just to justify to ourselves
that something like the option parser "is allowed to" live in a subdirectory. (I
have nothing against introducing a namespace for the "options" subdirectory:)

Based on what I've seen so far, I'm not in favour of the "core" subdirectory in
your proposal, because it doesn't seem to be a cohesive unit. I'd rather have
these files remain where they are. Then the main source directory is still a bit
of a mess of unrelated things, but I don't think it's really better to instead
have a "core" directory which is a mess of unrelated things.


I'm sure we can find additional cohesive groupings within these files if we want
to reduce the number of files in the main directory. For example, there are a
bunch of modules that are utility modules in the sense that they provide general
services that you can easily imagine using in any other C++ program that have
nothing to do with planning, such as countdown_timer.cc, rng.cc, system.cc,
system_unix.cc, system_windows.cc, timer.cc, tracer.cc, utilities.cc,
utilities_hash.cc. (Some of the utilities may actually be planning-specific on
closer inspection; this is just a first impression.)

I would package the search-related code a bit differently, including
search_engine.cc, search_progress.cc, search_statistics.cc, search_node_info.cc
and search_space.cc with the search code. (An argument can be made for keeping
search_engine.cc separate, just as with heuristic.cc.)

Regarding directory names, I think the module currently named "search_space" has
more to do with states than with search, and I'd reflect that in the name.
msg4743 (view) Author: florian Date: 2015-11-09.21:49:19
Now that issue119 is merged, we can also designate some CMake-plugins as
"dependency-only" which hides them in CMake GUIs and enables them iff they are
needed as a dependency for other plugins. We already use this for relaxation
heuristics and the LP solver.

We could also use this to avoid splitting the core namespace across directories,
by having a dependency-only namespace/plugin for "Options" and having the core
depend on it. On the other hand, its a bit weird to have dependencies in the core.
msg4738 (view) Author: florian Date: 2015-11-09.18:06:42
I added an initial suggestion for the split into namespaces and directories to
the summary, so we have a basis for discussion. Feel free to edit and comment.
The core namespace is split up across multiple directories, because we wanted
individual directories for tasks, options, etc. I wasn't sure whether we also
wanted individual namespaces for them.
msg4678 (view) Author: malte Date: 2015-10-27.16:04:45
We had some further discussion about this today. I've updated our coding
conventions page with the main points, but some of the main conclusions are:

- We want to finally introduce more namespaces soon.
- There will be a 1:1 mapping between namespaces and CMake plugins.
- Namespaces are no longer 1:1 with directories: "small" plugins (e.g. the blind
heuristic) will get their own namespace, but not their own subdirectory.
- We will use subdirectories in certain cases to group related code, e.g. all
heuristics without their own namespace, or all open lists.
msg488 (view) Author: malte Date: 2010-09-03.20:13:33
In addition to the namespaces for directories, each heuristic should gets its
own namespace to avoid conflicts for commonly used concepts such as operator and
fact classes at the heuristic level. Class names like LandmarkCutHeuristic could
then be replaced by things like LandmarkCut::Heuristic.

This would also make the plugin mechanism (issue117) stronger by reducing name
clashes.
msg183 (view) Author: malte Date: 2010-01-07.18:33:11
Each subdirectory should correspond to a namespace, using CamelCase names:

  subdir learning   => namespace Learning
  subdir open_lists => namespace OpenLists

Once we've got the name spaces, we can rename some of the files and classes to
be less redundant. Example:

 file   landmarks/landmark_cost_assignment.h => landmarks/cost_assignment.h
 guard  LANDMARKS_LANDMARK_COST_ASSIGNMENT_H => LANDMARKS_COST_ASSIGNMENT_H
 class  LandmarkCostAssignment               => Landmarks::CostAssignment

Once this is done, we should update the text in coding conventions referring to
namespaces, which currently says "(As of r3821, this has not yet been done.)".
History
Date User Action Args
2017-05-07 17:58:46maltesetmessages: + msg6350
2017-05-07 17:40:08jendriksetmessages: + msg6345
2017-04-26 14:23:23danielksetmessages: + msg6225
summary: issue625: fix naming convention for existing namespaces. Sub issues for splitting off individual namespaces: evaluators (issue599) heuristics (issue599) landmarks (issue599) lp (issue599) merge and shrink (issue599) open lists (issue715) operator counting (issue599) options (issue626) pdbs (issue599) potentials (issue599) search engines (issue603) utils (issue607) task_utils (TODO) ... (create sub issues for separating a new module) -> issue625: fix naming convention for existing namespaces. Sub issues for splitting off individual namespaces: evaluators (issue599) heuristics (issue599) landmarks (issue599) lp (issue599) merge and shrink (issue599) open lists (issue715) operator counting (issue599) options (issue626) pdbs (issue599) potentials (issue599) search engines (issue603) utils (issue607) task_utils (issue720) ... (create sub issues for separating a new module)
2017-04-24 15:54:31jendriksetnosy: + danielk
messages: + msg6207
summary: issue625: fix naming convention for existing namespaces. Sub issues for splitting off individual namespaces: evaluators (issue599) heuristics (issue599) landmarks (issue599) lp (issue599) merge and shrink (issue599) open lists (part of issue610) operator counting (issue599) options (issue626) pdbs (issue599) potentials (issue599) search engines (issue603) utils (issue607) ... (create sub issues for separating a new module) -> issue625: fix naming convention for existing namespaces. Sub issues for splitting off individual namespaces: evaluators (issue599) heuristics (issue599) landmarks (issue599) lp (issue599) merge and shrink (issue599) open lists (issue715) operator counting (issue599) options (issue626) pdbs (issue599) potentials (issue599) search engines (issue603) utils (issue607) task_utils (TODO) ... (create sub issues for separating a new module)
2016-01-19 10:55:27floriansetmessages: + msg5111
summary: issue625: fix naming convention for existing namespaces. Sub issues for splitting off individual namespaces: evaluators (issue599) heuristics (issue599) landmarks (issue599) lp (issue599) merge and shrink (issue599) open lists (part of issue610) operator counting (issue599) options (part of issue588) pdbs (issue599) potentials (issue599) search engines (issue603) utils (issue607) ... (create sub issues for separating a new module) -> issue625: fix naming convention for existing namespaces. Sub issues for splitting off individual namespaces: evaluators (issue599) heuristics (issue599) landmarks (issue599) lp (issue599) merge and shrink (issue599) open lists (part of issue610) operator counting (issue599) options (issue626) pdbs (issue599) potentials (issue599) search engines (issue603) utils (issue607) ... (create sub issues for separating a new module)
2016-01-09 11:59:13floriansetsummary: Sub issues for splitting off individual namespaces: evaluators (issue599) heuristics (issue599) landmarks (issue599) lp (issue599) merge and shrink (issue599) open lists (part of issue610) operator counting (issue599) options (part of issue588) pdbs (issue599) potentials (issue599) search engines (issue603) utils (issue607) ... (create sub issues for separating a new module) -> issue625: fix naming convention for existing namespaces. Sub issues for splitting off individual namespaces: evaluators (issue599) heuristics (issue599) landmarks (issue599) lp (issue599) merge and shrink (issue599) open lists (part of issue610) operator counting (issue599) options (part of issue588) pdbs (issue599) potentials (issue599) search engines (issue603) utils (issue607) ... (create sub issues for separating a new module)
2016-01-08 15:39:11floriansetmessages: + msg5050
2015-12-11 14:06:19floriansetmessages: + msg4961
summary: Sub issues for splitting off individual namespaces: all easy cases (issue599) open lists (part of issue481) search engines (issue603) option parser ... (create sub issues for separating a new module) -> Sub issues for splitting off individual namespaces: evaluators (issue599) heuristics (issue599) landmarks (issue599) lp (issue599) merge and shrink (issue599) open lists (part of issue610) operator counting (issue599) options (part of issue588) pdbs (issue599) potentials (issue599) search engines (issue603) utils (issue607) ... (create sub issues for separating a new module)
2015-12-08 19:01:51floriansetmessages: + msg4903
summary: Sub issues for splitting off individual namespaces: all easy cases (issue599) open lists (part of issue481) search engines (issue603) option parser (issue606) ... (create sub issues for separating a new module) -> Sub issues for splitting off individual namespaces: all easy cases (issue599) open lists (part of issue481) search engines (issue603) option parser ... (create sub issues for separating a new module)
2015-12-08 16:45:12floriansetsummary: Sub issues for splitting off individual namespaces: all easy cases (issue599) open lists (part of issue481) search engines (issue603) ... (create sub issues for separating a new module) -> Sub issues for splitting off individual namespaces: all easy cases (issue599) open lists (part of issue481) search engines (issue603) option parser (issue606) ... (create sub issues for separating a new module)
2015-12-07 14:04:21floriansetsummary: Sub issues for splitting off individual namespaces: all easy cases (issue599) open lists (part of issue481) ... (create sub issues for separating a new module) -> Sub issues for splitting off individual namespaces: all easy cases (issue599) open lists (part of issue481) search engines (issue603) ... (create sub issues for separating a new module)
2015-11-20 22:33:28floriansetsummary: Sub issues for splitting off individual namespaces: issue599 (all easy cases) ... (create sub issues for separating a new module) -> Sub issues for splitting off individual namespaces: all easy cases (issue599) open lists (part of issue481) ... (create sub issues for separating a new module)
2015-11-20 20:07:44floriansetpriority: wish -> meta
messages: + msg4819
summary: Suggested file and namespace structure (still under discussion). The suggested namespace names are in parenthesis, either for individual files or for all files in one directory. A star after the name means that the plugin is only used as a dependency. ./ (No namespace yet, create subissues to figure out the details) planner.cc axioms.cc causal_graph.cc domain_transition_graph.cc equivalence_relation.cc evaluation_context.cc evaluation_result.cc globals.cc heuristic_cache.cc heuristic.cc priority_queue.cc sampling.cc scalar_evaluator.cc search_engine.cc successor_generator.cc variable_order_finder.cc countdown_timer.cc rng.cc system.cc system_unix.cc system_windows.cc timer.cc tracer.cc utilities.cc utilities_hash.cc int_packer.cc per_state_information.cc segmented_vector.cc state_id.cc state_registry.cc abstract_task.cc cost_adapted_task.cc delegating_task.cc global_operator.cc global_state.cc operator_cost.cc root_task.cc task_proxy.cc task_tools.cc search_progress.cc search_statistics.cc search_node_info.cc search_space.cc eager_search.cc lazy_search.cc enforced_hill_climbing_search.cc iterated_search.cc options/ (Options*) option_parser.cc option_parser_util.cc plugin.cc open_lists/ (OpenLists*) alternation_open_list.cc bucket_open_list.cc epsilon_greedy_open_list.cc open_list.cc pareto_open_list.cc standard_scalar_open_list.cc tiebreaking_open_list.cc type_based_open_list.cc evaluators/ const_evaluator.cc (ConstEvaluator) g_evaluator.cc (GEvaluator) combining_evaluator.cc (CombiningEvaluator) max_evaluator.cc (MaxEvaluator) pref_evaluator.cc (PrefEvaluator) weighted_evaluator.cc (WeightedEvaluator) sum_evaluator.cc (SumEvaluator) heuristics/ relaxation_heuristic.cc (RelaxationHeuristic*) ipc_max_heuristic.cc (IPCMaxHeuristic) additive_heuristic.cc (AdditiveHeuristic) blind_search_heuristic.cc (BlindSearchHeuristic) cea_heuristic.cc (CEAHeuristic) cg_heuristic.cc (CGHeuristic) cg_cache.cc (CGHeuristic) ff_heuristic.cc (FFHeuristic) goal_count_heuristic.cc (GoalCountHeuristic) hm_heuristic.cc (HMHeuristic) lm_cut_heuristic.cc (LMcutHeuristic) lm_cut_landmarks.cc (LMcutHeuristic) max_heuristic.cc (MaxHeuristic) lp/ (LP*) lp_internals.cc lp_solver.cc merge_and_shrink/ (MergeAndShrink) distances.cc factored_transition_system.cc fts_factory.cc heuristic_representation.cc label_equivalence_relation.cc labels.cc merge_and_shrink_heuristic.cc merge_dfp.cc merge_linear.cc merge_strategy.cc shrink_bisimulation.cc shrink_bucket_based.cc shrink_fh.cc shrink_random.cc shrink_strategy.cc transition_system.cc landmarks/ (Landmarks) exploration.cc h_m_landmarks.cc lama_ff_synergy.cc landmark_cost_assignment.cc landmark_count_heuristic.cc landmark_factory.cc landmark_factory_rpg_exhaust.cc landmark_factory_rpg_sasp.cc landmark_factory_zhu_givan.cc landmark_graph.cc landmark_graph_merged.cc landmark_status_manager.cc util.cc operator_counting/ (OperatorCounting) constraint_generator.cc lm_cut_constraints.cc operator_counting_heuristic.cc pho_constraints.cc state_equation_constraints.cc pdbs/ (PDBs) canonical_pdbs_heuristic.cc dominance_pruner.cc match_tree.cc max_cliques.cc pattern_database.cc pattern_generation_edelkamp.cc pattern_generation_haslum.cc pattern_generation_systematic.cc pdb_heuristic.cc util.cc zero_one_pdbs_heuristic.cc potentials/ (Potentials) diverse_potential_heuristics.cc potential_function.cc potential_heuristic.cc potential_max_heuristic.cc potential_optimizer.cc sample_based_potential_heuristics.cc single_potential_heuristics.cc util.cc -> Sub issues for splitting off individual namespaces: issue599 (all easy cases) ... (create sub issues for separating a new module)
2015-11-11 21:27:41maltesetmessages: + msg4772
2015-11-11 11:15:14floriansetmessages: + msg4767
summary: Suggested file and namespace structure (still under discussion). The suggested namespace names are in parenthesis, either for individual files or for all files in one directory. A star after the name means that the plugin is only used as a dependency. ./ (Core) planner.cc axioms.cc causal_graph.cc domain_transition_graph.cc equivalence_relation.cc evaluation_context.cc evaluation_result.cc globals.cc heuristic_cache.cc heuristic.cc priority_queue.cc sampling.cc scalar_evaluator.cc search_engine.cc successor_generator.cc variable_order_finder.cc utility/ (Utility*) countdown_timer.cc rng.cc system.cc system_unix.cc system_windows.cc timer.cc tracer.cc utilities.cc utilities_hash.cc states/ (States*) int_packer.cc per_state_information.cc segmented_vector.cc state_id.cc state_registry.cc tasks/ (Tasks*) abstract_task.cc cost_adapted_task.cc delegating_task.cc global_operator.cc global_state.cc operator_cost.cc root_task.cc task_proxy.cc task_tools.cc options/ (Options*) option_parser.cc option_parser_util.cc plugin.cc open_lists/ (OpenLists*) alternation_open_list.cc bucket_open_list.cc epsilon_greedy_open_list.cc open_list.cc pareto_open_list.cc standard_scalar_open_list.cc tiebreaking_open_list.cc type_based_open_list.cc evaluators/ const_evaluator.cc (ConstEvaluator) g_evaluator.cc (GEvaluator) combining_evaluator.cc (CombiningEvaluator) max_evaluator.cc (MaxEvaluator) pref_evaluator.cc (PrefEvaluator) weighted_evaluator.cc (WeightedEvaluator) sum_evaluator.cc (SumEvaluator) search/ search_progress.cc (SearchBase*) search_statistics.cc (SearchBase*) search_node_info.cc (SearchBase*) search_space.cc (SearchBase*) eager_search.cc (EagerSearch) lazy_search.cc (LazySearch) enforced_hill_climbing_search.cc (EnforcedHillClimbingSearch) iterated_search.cc (IteratedSearch) lp/ (LP*) lp_internals.cc lp_solver.cc heuristics/ relaxation_heuristic.cc (RelaxationHeuristic*) ipc_max_heuristic.cc (IPCMaxHeuristic) additive_heuristic.cc (AdditiveHeuristic) blind_search_heuristic.cc (BlindSearchHeuristic) cea_heuristic.cc (CEAHeuristic) cg_heuristic.cc (CGHeuristic) cg_cache.cc (CGHeuristic) ff_heuristic.cc (FFHeuristic) goal_count_heuristic.cc (GoalCountHeuristic) hm_heuristic.cc (HMHeuristic) lm_cut_heuristic.cc (LMcutHeuristic) lm_cut_landmarks.cc (LMcutHeuristic) max_heuristic.cc (MaxHeuristic) merge_and_shrink/ (MergeAndShrink) distances.cc factored_transition_system.cc fts_factory.cc heuristic_representation.cc label_equivalence_relation.cc labels.cc merge_and_shrink_heuristic.cc merge_dfp.cc merge_linear.cc merge_strategy.cc shrink_bisimulation.cc shrink_bucket_based.cc shrink_fh.cc shrink_random.cc shrink_strategy.cc transition_system.cc landmarks/ (Landmarks) exploration.cc h_m_landmarks.cc lama_ff_synergy.cc landmark_cost_assignment.cc landmark_count_heuristic.cc landmark_factory.cc landmark_factory_rpg_exhaust.cc landmark_factory_rpg_sasp.cc landmark_factory_zhu_givan.cc landmark_graph.cc landmark_graph_merged.cc landmark_status_manager.cc util.cc operator_counting/ (OperatorCounting) constraint_generator.cc lm_cut_constraints.cc operator_counting_heuristic.cc pho_constraints.cc state_equation_constraints.cc pdbs/ (PDBs) canonical_pdbs_heuristic.cc dominance_pruner.cc match_tree.cc max_cliques.cc pattern_database.cc pattern_generation_edelkamp.cc pattern_generation_haslum.cc pattern_generation_systematic.cc pdb_heuristic.cc util.cc zero_one_pdbs_heuristic.cc potentials/ (Potentials) diverse_potential_heuristics.cc potential_function.cc potential_heuristic.cc potential_max_heuristic.cc potential_optimizer.cc sample_based_potential_heuristics.cc single_potential_heuristics.cc util.cc After closing this issue, we should check if that also resolves issue61 and issue266. -> Suggested file and namespace structure (still under discussion). The suggested namespace names are in parenthesis, either for individual files or for all files in one directory. A star after the name means that the plugin is only used as a dependency. ./ (No namespace yet, create subissues to figure out the details) planner.cc axioms.cc causal_graph.cc domain_transition_graph.cc equivalence_relation.cc evaluation_context.cc evaluation_result.cc globals.cc heuristic_cache.cc heuristic.cc priority_queue.cc sampling.cc scalar_evaluator.cc search_engine.cc successor_generator.cc variable_order_finder.cc countdown_timer.cc rng.cc system.cc system_unix.cc system_windows.cc timer.cc tracer.cc utilities.cc utilities_hash.cc int_packer.cc per_state_information.cc segmented_vector.cc state_id.cc state_registry.cc abstract_task.cc cost_adapted_task.cc delegating_task.cc global_operator.cc global_state.cc operator_cost.cc root_task.cc task_proxy.cc task_tools.cc search_progress.cc search_statistics.cc search_node_info.cc search_space.cc eager_search.cc lazy_search.cc enforced_hill_climbing_search.cc iterated_search.cc options/ (Options*) option_parser.cc option_parser_util.cc plugin.cc open_lists/ (OpenLists*) alternation_open_list.cc bucket_open_list.cc epsilon_greedy_open_list.cc open_list.cc pareto_open_list.cc standard_scalar_open_list.cc tiebreaking_open_list.cc type_based_open_list.cc evaluators/ const_evaluator.cc (ConstEvaluator) g_evaluator.cc (GEvaluator) combining_evaluator.cc (CombiningEvaluator) max_evaluator.cc (MaxEvaluator) pref_evaluator.cc (PrefEvaluator) weighted_evaluator.cc (WeightedEvaluator) sum_evaluator.cc (SumEvaluator) heuristics/ relaxation_heuristic.cc (RelaxationHeuristic*) ipc_max_heuristic.cc (IPCMaxHeuristic) additive_heuristic.cc (AdditiveHeuristic) blind_search_heuristic.cc (BlindSearchHeuristic) cea_heuristic.cc (CEAHeuristic) cg_heuristic.cc (CGHeuristic) cg_cache.cc (CGHeuristic) ff_heuristic.cc (FFHeuristic) goal_count_heuristic.cc (GoalCountHeuristic) hm_heuristic.cc (HMHeuristic) lm_cut_heuristic.cc (LMcutHeuristic) lm_cut_landmarks.cc (LMcutHeuristic) max_heuristic.cc (MaxHeuristic) lp/ (LP*) lp_internals.cc lp_solver.cc merge_and_shrink/ (MergeAndShrink) distances.cc factored_transition_system.cc fts_factory.cc heuristic_representation.cc label_equivalence_relation.cc labels.cc merge_and_shrink_heuristic.cc merge_dfp.cc merge_linear.cc merge_strategy.cc shrink_bisimulation.cc shrink_bucket_based.cc shrink_fh.cc shrink_random.cc shrink_strategy.cc transition_system.cc landmarks/ (Landmarks) exploration.cc h_m_landmarks.cc lama_ff_synergy.cc landmark_cost_assignment.cc landmark_count_heuristic.cc landmark_factory.cc landmark_factory_rpg_exhaust.cc landmark_factory_rpg_sasp.cc landmark_factory_zhu_givan.cc landmark_graph.cc landmark_graph_merged.cc landmark_status_manager.cc util.cc operator_counting/ (OperatorCounting) constraint_generator.cc lm_cut_constraints.cc operator_counting_heuristic.cc pho_constraints.cc state_equation_constraints.cc pdbs/ (PDBs) canonical_pdbs_heuristic.cc dominance_pruner.cc match_tree.cc max_cliques.cc pattern_database.cc pattern_generation_edelkamp.cc pattern_generation_haslum.cc pattern_generation_systematic.cc pdb_heuristic.cc util.cc zero_one_pdbs_heuristic.cc potentials/ (Potentials) diverse_potential_heuristics.cc potential_function.cc potential_heuristic.cc potential_max_heuristic.cc potential_optimizer.cc sample_based_potential_heuristics.cc single_potential_heuristics.cc util.cc
2015-11-10 12:54:10maltesetmessages: + msg4755
2015-11-10 11:41:32floriansetmessages: + msg4753
summary: Suggested file and namespace structure (still under discussion). The suggested namespace names are in parenthesis, either for individual files or for all files in one directory. A star after the name means that the plugin is only used as a dependency. ./ (Core) planner.cc axioms.cc causal_graph.cc domain_transition_graph.cc equivalence_relation.cc evaluation_context.cc evaluation_result.cc globals.cc heuristic_cache.cc heuristic.cc priority_queue.cc sampling.cc scalar_evaluator.cc search_engine.cc successor_generator.cc variable_order_finder.cc utility/ (Utility*) countdown_timer.cc rng.cc system.cc system_unix.cc system_windows.cc timer.cc tracer.cc utilities.cc utilities_hash.cc states/ (States*) int_packer.cc per_state_information.cc segmented_vector.cc state_id.cc state_registry.cc tasks/ (Tasks*) abstract_task.cc cost_adapted_task.cc delegating_task.cc global_operator.cc global_state.cc operator_cost.cc root_task.cc task_proxy.cc task_tools.cc options/ (Options*) option_parser.cc option_parser_util.cc plugin.cc open_lists/ (OpenLists*) alternation_open_list.cc bucket_open_list.cc epsilon_greedy_open_list.cc open_list.cc pareto_open_list.cc standard_scalar_open_list.cc tiebreaking_open_list.cc type_based_open_list.cc evaluators/ const_evaluator.cc (ConstEvaluator) g_evaluator.cc (GEvaluator) combining_evaluator.cc (CombiningEvaluator) max_evaluator.cc (MaxEvaluator) pref_evaluator.cc (PrefEvaluator) weighted_evaluator.cc (WeightedEvaluator) sum_evaluator.cc (SumEvaluator) search/ search_progress.cc (SearchBase*) search_statistics.cc (SearchBase*) search_node_info.cc (SearchBase*) search_space.cc (SearchBase*) eager_search.cc (EagerSearch) lazy_search.cc (LazySearch) enforced_hill_climbing_search.cc (EnforcedHillClimbingSearch) iterated_search.cc (IteratedSearch) lp/ (LP*) lp_internals.cc lp_solver.cc heuristics/ relaxation_heuristic.cc (RelaxationHeuristic*) ipc_max_heuristic.cc (IPCMaxHeuristic) additive_heuristic.cc (AdditiveHeuristic) blind_search_heuristic.cc (BlindSearchHeuristic) cea_heuristic.cc (CEAHeuristic) cg_heuristic.cc (CGHeuristic) cg_cache.cc (CGHeuristic) ff_heuristic.cc (FFHeuristic) goal_count_heuristic.cc (GoalCountHeuristic) hm_heuristic.cc (HMHeuristic) lm_cut_heuristic.cc (LMcutHeuristic) lm_cut_landmarks.cc (LMcutHeuristic) max_heuristic.cc (MaxHeuristic) merge_and_shrink/ (MergeAndShrink) distances.cc factored_transition_system.cc fts_factory.cc heuristic_representation.cc label_equivalence_relation.cc labels.cc merge_and_shrink_heuristic.cc merge_dfp.cc merge_linear.cc merge_strategy.cc shrink_bisimulation.cc shrink_bucket_based.cc shrink_fh.cc shrink_random.cc shrink_strategy.cc transition_system.cc landmarks/ (Landmarks) exploration.cc h_m_landmarks.cc lama_ff_synergy.cc landmark_cost_assignment.cc landmark_count_heuristic.cc landmark_factory.cc landmark_factory_rpg_exhaust.cc landmark_factory_rpg_sasp.cc landmark_factory_zhu_givan.cc landmark_graph.cc landmark_graph_merged.cc landmark_status_manager.cc util.cc operator_counting/ (OperatorCounting) constraint_generator.cc lm_cut_constraints.cc operator_counting_heuristic.cc pho_constraints.cc state_equation_constraints.cc pdbs/ (PDBs) canonical_pdbs_heuristic.cc dominance_pruner.cc match_tree.cc max_cliques.cc pattern_database.cc pattern_generation_edelkamp.cc pattern_generation_haslum.cc pattern_generation_systematic.cc pdb_heuristic.cc util.cc zero_one_pdbs_heuristic.cc potentials/ (Potentials) diverse_potential_heuristics.cc potential_function.cc potential_heuristic.cc potential_max_heuristic.cc potential_optimizer.cc sample_based_potential_heuristics.cc single_potential_heuristics.cc util.cc -> Suggested file and namespace structure (still under discussion). The suggested namespace names are in parenthesis, either for individual files or for all files in one directory. A star after the name means that the plugin is only used as a dependency. ./ (Core) planner.cc axioms.cc causal_graph.cc domain_transition_graph.cc equivalence_relation.cc evaluation_context.cc evaluation_result.cc globals.cc heuristic_cache.cc heuristic.cc priority_queue.cc sampling.cc scalar_evaluator.cc search_engine.cc successor_generator.cc variable_order_finder.cc utility/ (Utility*) countdown_timer.cc rng.cc system.cc system_unix.cc system_windows.cc timer.cc tracer.cc utilities.cc utilities_hash.cc states/ (States*) int_packer.cc per_state_information.cc segmented_vector.cc state_id.cc state_registry.cc tasks/ (Tasks*) abstract_task.cc cost_adapted_task.cc delegating_task.cc global_operator.cc global_state.cc operator_cost.cc root_task.cc task_proxy.cc task_tools.cc options/ (Options*) option_parser.cc option_parser_util.cc plugin.cc open_lists/ (OpenLists*) alternation_open_list.cc bucket_open_list.cc epsilon_greedy_open_list.cc open_list.cc pareto_open_list.cc standard_scalar_open_list.cc tiebreaking_open_list.cc type_based_open_list.cc evaluators/ const_evaluator.cc (ConstEvaluator) g_evaluator.cc (GEvaluator) combining_evaluator.cc (CombiningEvaluator) max_evaluator.cc (MaxEvaluator) pref_evaluator.cc (PrefEvaluator) weighted_evaluator.cc (WeightedEvaluator) sum_evaluator.cc (SumEvaluator) search/ search_progress.cc (SearchBase*) search_statistics.cc (SearchBase*) search_node_info.cc (SearchBase*) search_space.cc (SearchBase*) eager_search.cc (EagerSearch) lazy_search.cc (LazySearch) enforced_hill_climbing_search.cc (EnforcedHillClimbingSearch) iterated_search.cc (IteratedSearch) lp/ (LP*) lp_internals.cc lp_solver.cc heuristics/ relaxation_heuristic.cc (RelaxationHeuristic*) ipc_max_heuristic.cc (IPCMaxHeuristic) additive_heuristic.cc (AdditiveHeuristic) blind_search_heuristic.cc (BlindSearchHeuristic) cea_heuristic.cc (CEAHeuristic) cg_heuristic.cc (CGHeuristic) cg_cache.cc (CGHeuristic) ff_heuristic.cc (FFHeuristic) goal_count_heuristic.cc (GoalCountHeuristic) hm_heuristic.cc (HMHeuristic) lm_cut_heuristic.cc (LMcutHeuristic) lm_cut_landmarks.cc (LMcutHeuristic) max_heuristic.cc (MaxHeuristic) merge_and_shrink/ (MergeAndShrink) distances.cc factored_transition_system.cc fts_factory.cc heuristic_representation.cc label_equivalence_relation.cc labels.cc merge_and_shrink_heuristic.cc merge_dfp.cc merge_linear.cc merge_strategy.cc shrink_bisimulation.cc shrink_bucket_based.cc shrink_fh.cc shrink_random.cc shrink_strategy.cc transition_system.cc landmarks/ (Landmarks) exploration.cc h_m_landmarks.cc lama_ff_synergy.cc landmark_cost_assignment.cc landmark_count_heuristic.cc landmark_factory.cc landmark_factory_rpg_exhaust.cc landmark_factory_rpg_sasp.cc landmark_factory_zhu_givan.cc landmark_graph.cc landmark_graph_merged.cc landmark_status_manager.cc util.cc operator_counting/ (OperatorCounting) constraint_generator.cc lm_cut_constraints.cc operator_counting_heuristic.cc pho_constraints.cc state_equation_constraints.cc pdbs/ (PDBs) canonical_pdbs_heuristic.cc dominance_pruner.cc match_tree.cc max_cliques.cc pattern_database.cc pattern_generation_edelkamp.cc pattern_generation_haslum.cc pattern_generation_systematic.cc pdb_heuristic.cc util.cc zero_one_pdbs_heuristic.cc potentials/ (Potentials) diverse_potential_heuristics.cc potential_function.cc potential_heuristic.cc potential_max_heuristic.cc potential_optimizer.cc sample_based_potential_heuristics.cc single_potential_heuristics.cc util.cc After closing this issue, we should check if that also resolves issue61 and issue266.
2015-11-10 11:11:50floriansetfiles: + dependencies.png
messages: + msg4751
2015-11-09 23:40:31floriansetmessages: + msg4745
summary: Suggested file and namespace structure (still under discussion). The suggested namespace names are in parenthesis, either for individual files or for all files in one directory. A star after the name means that the plugin is only used as a dependency. core/ (Core) planner.cc axioms.cc causal_graph.cc countdown_timer.cc domain_transition_graph.cc equivalence_relation.cc evaluation_context.cc evaluation_result.cc globals.cc heuristic_cache.cc heuristic.cc priority_queue.cc rng.cc sampling.cc scalar_evaluator.cc search_engine.cc search_progress.cc search_statistics.cc successor_generator.cc system.cc system_unix.cc system_windows.cc timer.cc tracer.cc utilities.cc utilities_hash.cc variable_order_finder.cc search_space/ (Core) int_packer.cc per_state_information.cc search_node_info.cc search_space.cc segmented_vector.cc state_id.cc state_registry.cc tasks/ (Core) abstract_task.cc cost_adapted_task.cc delegating_task.cc global_operator.cc global_state.cc operator_cost.cc root_task.cc task_proxy.cc task_tools.cc options/ (Core) option_parser.cc option_parser_util.cc plugin.cc open_lists/ (Core) alternation_open_list.cc bucket_open_list.cc epsilon_greedy_open_list.cc open_list.cc pareto_open_list.cc standard_scalar_open_list.cc tiebreaking_open_list.cc type_based_open_list.cc evaluators/ const_evaluator.cc (ConstEvaluator) g_evaluator.cc (GEvaluator) combining_evaluator.cc (CombiningEvaluator) max_evaluator.cc (MaxEvaluator) pref_evaluator.cc (PrefEvaluator) weighted_evaluator.cc (WeightedEvaluator) sum_evaluator.cc (SumEvaluator) search/ eager_search.cc (EagerSearch) lazy_search.cc (LazySearch) enforced_hill_climbing_search.cc (EnforcedHillClimbingSearch) iterated_search.cc (IteratedSearch) lp/ (LP*) lp_internals.cc lp_solver.cc heuristics/ relaxation_heuristic.cc (RelaxationHeuristic*) ipc_max_heuristic.cc (IPCMaxHeuristic) additive_heuristic.cc (AdditiveHeuristic) blind_search_heuristic.cc (BlindSearchHeuristic) cea_heuristic.cc (CEAHeuristic) cg_heuristic.cc (CGHeuristic) cg_cache.cc (CGHeuristic) ff_heuristic.cc (FFHeuristic) goal_count_heuristic.cc (GoalCountHeuristic) hm_heuristic.cc (HMHeuristic) lm_cut_heuristic.cc (LMcutHeuristic) lm_cut_landmarks.cc (LMcutHeuristic) max_heuristic.cc (MaxHeuristic) merge_and_shrink/ (MergeAndShrink) distances.cc factored_transition_system.cc fts_factory.cc heuristic_representation.cc label_equivalence_relation.cc labels.cc merge_and_shrink_heuristic.cc merge_dfp.cc merge_linear.cc merge_strategy.cc shrink_bisimulation.cc shrink_bucket_based.cc shrink_fh.cc shrink_random.cc shrink_strategy.cc transition_system.cc landmarks/ (Landmarks) exploration.cc h_m_landmarks.cc lama_ff_synergy.cc landmark_cost_assignment.cc landmark_count_heuristic.cc landmark_factory.cc landmark_factory_rpg_exhaust.cc landmark_factory_rpg_sasp.cc landmark_factory_zhu_givan.cc landmark_graph.cc landmark_graph_merged.cc landmark_status_manager.cc util.cc operator_counting/ (OperatorCounting) constraint_generator.cc lm_cut_constraints.cc operator_counting_heuristic.cc pho_constraints.cc state_equation_constraints.cc pdbs/ (PDBs) canonical_pdbs_heuristic.cc dominance_pruner.cc match_tree.cc max_cliques.cc pattern_database.cc pattern_generation_edelkamp.cc pattern_generation_haslum.cc pattern_generation_systematic.cc pdb_heuristic.cc util.cc zero_one_pdbs_heuristic.cc potentials/ (Potentials) diverse_potential_heuristics.cc potential_function.cc potential_heuristic.cc potential_max_heuristic.cc potential_optimizer.cc sample_based_potential_heuristics.cc single_potential_heuristics.cc util.cc -> Suggested file and namespace structure (still under discussion). The suggested namespace names are in parenthesis, either for individual files or for all files in one directory. A star after the name means that the plugin is only used as a dependency. ./ (Core) planner.cc axioms.cc causal_graph.cc domain_transition_graph.cc equivalence_relation.cc evaluation_context.cc evaluation_result.cc globals.cc heuristic_cache.cc heuristic.cc priority_queue.cc sampling.cc scalar_evaluator.cc search_engine.cc successor_generator.cc variable_order_finder.cc utility/ (Utility*) countdown_timer.cc rng.cc system.cc system_unix.cc system_windows.cc timer.cc tracer.cc utilities.cc utilities_hash.cc states/ (States*) int_packer.cc per_state_information.cc segmented_vector.cc state_id.cc state_registry.cc tasks/ (Tasks*) abstract_task.cc cost_adapted_task.cc delegating_task.cc global_operator.cc global_state.cc operator_cost.cc root_task.cc task_proxy.cc task_tools.cc options/ (Options*) option_parser.cc option_parser_util.cc plugin.cc open_lists/ (OpenLists*) alternation_open_list.cc bucket_open_list.cc epsilon_greedy_open_list.cc open_list.cc pareto_open_list.cc standard_scalar_open_list.cc tiebreaking_open_list.cc type_based_open_list.cc evaluators/ const_evaluator.cc (ConstEvaluator) g_evaluator.cc (GEvaluator) combining_evaluator.cc (CombiningEvaluator) max_evaluator.cc (MaxEvaluator) pref_evaluator.cc (PrefEvaluator) weighted_evaluator.cc (WeightedEvaluator) sum_evaluator.cc (SumEvaluator) search/ search_progress.cc (SearchBase*) search_statistics.cc (SearchBase*) search_node_info.cc (SearchBase*) search_space.cc (SearchBase*) eager_search.cc (EagerSearch) lazy_search.cc (LazySearch) enforced_hill_climbing_search.cc (EnforcedHillClimbingSearch) iterated_search.cc (IteratedSearch) lp/ (LP*) lp_internals.cc lp_solver.cc heuristics/ relaxation_heuristic.cc (RelaxationHeuristic*) ipc_max_heuristic.cc (IPCMaxHeuristic) additive_heuristic.cc (AdditiveHeuristic) blind_search_heuristic.cc (BlindSearchHeuristic) cea_heuristic.cc (CEAHeuristic) cg_heuristic.cc (CGHeuristic) cg_cache.cc (CGHeuristic) ff_heuristic.cc (FFHeuristic) goal_count_heuristic.cc (GoalCountHeuristic) hm_heuristic.cc (HMHeuristic) lm_cut_heuristic.cc (LMcutHeuristic) lm_cut_landmarks.cc (LMcutHeuristic) max_heuristic.cc (MaxHeuristic) merge_and_shrink/ (MergeAndShrink) distances.cc factored_transition_system.cc fts_factory.cc heuristic_representation.cc label_equivalence_relation.cc labels.cc merge_and_shrink_heuristic.cc merge_dfp.cc merge_linear.cc merge_strategy.cc shrink_bisimulation.cc shrink_bucket_based.cc shrink_fh.cc shrink_random.cc shrink_strategy.cc transition_system.cc landmarks/ (Landmarks) exploration.cc h_m_landmarks.cc lama_ff_synergy.cc landmark_cost_assignment.cc landmark_count_heuristic.cc landmark_factory.cc landmark_factory_rpg_exhaust.cc landmark_factory_rpg_sasp.cc landmark_factory_zhu_givan.cc landmark_graph.cc landmark_graph_merged.cc landmark_status_manager.cc util.cc operator_counting/ (OperatorCounting) constraint_generator.cc lm_cut_constraints.cc operator_counting_heuristic.cc pho_constraints.cc state_equation_constraints.cc pdbs/ (PDBs) canonical_pdbs_heuristic.cc dominance_pruner.cc match_tree.cc max_cliques.cc pattern_database.cc pattern_generation_edelkamp.cc pattern_generation_haslum.cc pattern_generation_systematic.cc pdb_heuristic.cc util.cc zero_one_pdbs_heuristic.cc potentials/ (Potentials) diverse_potential_heuristics.cc potential_function.cc potential_heuristic.cc potential_max_heuristic.cc potential_optimizer.cc sample_based_potential_heuristics.cc single_potential_heuristics.cc util.cc
2015-11-09 22:06:35maltesetmessages: + msg4744
2015-11-09 21:49:19floriansetmessages: + msg4743
summary: Suggested file and namespace structure (still under discussion). The suggested namespace names are in parenthesis, either for individual files or for all files in one directory. core/ (Core) planner.cc axioms.cc causal_graph.cc countdown_timer.cc domain_transition_graph.cc equivalence_relation.cc evaluation_context.cc evaluation_result.cc globals.cc heuristic_cache.cc heuristic.cc priority_queue.cc rng.cc sampling.cc scalar_evaluator.cc search_engine.cc search_progress.cc search_statistics.cc successor_generator.cc system.cc system_unix.cc system_windows.cc timer.cc tracer.cc utilities.cc utilities_hash.cc variable_order_finder.cc search_space/ (Core) int_packer.cc per_state_information.cc search_node_info.cc search_space.cc segmented_vector.cc state_id.cc state_registry.cc tasks/ (Core) abstract_task.cc cost_adapted_task.cc delegating_task.cc global_operator.cc global_state.cc operator_cost.cc root_task.cc task_proxy.cc task_tools.cc options/ (Core) option_parser.cc option_parser_util.cc plugin.cc open_lists/ (Core) alternation_open_list.cc bucket_open_list.cc epsilon_greedy_open_list.cc open_list.cc pareto_open_list.cc standard_scalar_open_list.cc tiebreaking_open_list.cc type_based_open_list.cc evaluators/ const_evaluator.cc (ConstEvaluator) g_evaluator.cc (GEvaluator) combining_evaluator.cc (CombiningEvaluator) max_evaluator.cc (MaxEvaluator) pref_evaluator.cc (PrefEvaluator) weighted_evaluator.cc (WeightedEvaluator) sum_evaluator.cc (SumEvaluator) search/ eager_search.cc (EagerSearch) lazy_search.cc (LazySearch) enforced_hill_climbing_search.cc (EnforcedHillClimbingSearch) iterated_search.cc (IteratedSearch) lp/ (LP) lp_internals.cc lp_solver.cc heuristics/ relaxation_heuristic.cc (RelaxationHeuristic) ipc_max_heuristic.cc (IPCMaxHeuristic) additive_heuristic.cc (AdditiveHeuristic) blind_search_heuristic.cc (BlindSearchHeuristic) cea_heuristic.cc (CEAHeuristic) cg_heuristic.cc (CGHeuristic) cg_cache.cc (CGHeuristic) ff_heuristic.cc (FFHeuristic) goal_count_heuristic.cc (GoalCountHeuristic) hm_heuristic.cc (HMHeuristic) lm_cut_heuristic.cc (LMcutHeuristic) lm_cut_landmarks.cc (LMcutHeuristic) max_heuristic.cc (MaxHeuristic) merge_and_shrink/ (MergeAndShrink) distances.cc factored_transition_system.cc fts_factory.cc heuristic_representation.cc label_equivalence_relation.cc labels.cc merge_and_shrink_heuristic.cc merge_dfp.cc merge_linear.cc merge_strategy.cc shrink_bisimulation.cc shrink_bucket_based.cc shrink_fh.cc shrink_random.cc shrink_strategy.cc transition_system.cc landmarks/ (Landmarks) exploration.cc h_m_landmarks.cc lama_ff_synergy.cc landmark_cost_assignment.cc landmark_count_heuristic.cc landmark_factory.cc landmark_factory_rpg_exhaust.cc landmark_factory_rpg_sasp.cc landmark_factory_zhu_givan.cc landmark_graph.cc landmark_graph_merged.cc landmark_status_manager.cc util.cc operator_counting/ (OperatorCounting) constraint_generator.cc lm_cut_constraints.cc operator_counting_heuristic.cc pho_constraints.cc state_equation_constraints.cc pdbs/ (PDBs) canonical_pdbs_heuristic.cc dominance_pruner.cc match_tree.cc max_cliques.cc pattern_database.cc pattern_generation_edelkamp.cc pattern_generation_haslum.cc pattern_generation_systematic.cc pdb_heuristic.cc util.cc zero_one_pdbs_heuristic.cc potentials/ (Potentials) diverse_potential_heuristics.cc potential_function.cc potential_heuristic.cc potential_max_heuristic.cc potential_optimizer.cc sample_based_potential_heuristics.cc single_potential_heuristics.cc util.cc -> Suggested file and namespace structure (still under discussion). The suggested namespace names are in parenthesis, either for individual files or for all files in one directory. A star after the name means that the plugin is only used as a dependency. core/ (Core) planner.cc axioms.cc causal_graph.cc countdown_timer.cc domain_transition_graph.cc equivalence_relation.cc evaluation_context.cc evaluation_result.cc globals.cc heuristic_cache.cc heuristic.cc priority_queue.cc rng.cc sampling.cc scalar_evaluator.cc search_engine.cc search_progress.cc search_statistics.cc successor_generator.cc system.cc system_unix.cc system_windows.cc timer.cc tracer.cc utilities.cc utilities_hash.cc variable_order_finder.cc search_space/ (Core) int_packer.cc per_state_information.cc search_node_info.cc search_space.cc segmented_vector.cc state_id.cc state_registry.cc tasks/ (Core) abstract_task.cc cost_adapted_task.cc delegating_task.cc global_operator.cc global_state.cc operator_cost.cc root_task.cc task_proxy.cc task_tools.cc options/ (Core) option_parser.cc option_parser_util.cc plugin.cc open_lists/ (Core) alternation_open_list.cc bucket_open_list.cc epsilon_greedy_open_list.cc open_list.cc pareto_open_list.cc standard_scalar_open_list.cc tiebreaking_open_list.cc type_based_open_list.cc evaluators/ const_evaluator.cc (ConstEvaluator) g_evaluator.cc (GEvaluator) combining_evaluator.cc (CombiningEvaluator) max_evaluator.cc (MaxEvaluator) pref_evaluator.cc (PrefEvaluator) weighted_evaluator.cc (WeightedEvaluator) sum_evaluator.cc (SumEvaluator) search/ eager_search.cc (EagerSearch) lazy_search.cc (LazySearch) enforced_hill_climbing_search.cc (EnforcedHillClimbingSearch) iterated_search.cc (IteratedSearch) lp/ (LP*) lp_internals.cc lp_solver.cc heuristics/ relaxation_heuristic.cc (RelaxationHeuristic*) ipc_max_heuristic.cc (IPCMaxHeuristic) additive_heuristic.cc (AdditiveHeuristic) blind_search_heuristic.cc (BlindSearchHeuristic) cea_heuristic.cc (CEAHeuristic) cg_heuristic.cc (CGHeuristic) cg_cache.cc (CGHeuristic) ff_heuristic.cc (FFHeuristic) goal_count_heuristic.cc (GoalCountHeuristic) hm_heuristic.cc (HMHeuristic) lm_cut_heuristic.cc (LMcutHeuristic) lm_cut_landmarks.cc (LMcutHeuristic) max_heuristic.cc (MaxHeuristic) merge_and_shrink/ (MergeAndShrink) distances.cc factored_transition_system.cc fts_factory.cc heuristic_representation.cc label_equivalence_relation.cc labels.cc merge_and_shrink_heuristic.cc merge_dfp.cc merge_linear.cc merge_strategy.cc shrink_bisimulation.cc shrink_bucket_based.cc shrink_fh.cc shrink_random.cc shrink_strategy.cc transition_system.cc landmarks/ (Landmarks) exploration.cc h_m_landmarks.cc lama_ff_synergy.cc landmark_cost_assignment.cc landmark_count_heuristic.cc landmark_factory.cc landmark_factory_rpg_exhaust.cc landmark_factory_rpg_sasp.cc landmark_factory_zhu_givan.cc landmark_graph.cc landmark_graph_merged.cc landmark_status_manager.cc util.cc operator_counting/ (OperatorCounting) constraint_generator.cc lm_cut_constraints.cc operator_counting_heuristic.cc pho_constraints.cc state_equation_constraints.cc pdbs/ (PDBs) canonical_pdbs_heuristic.cc dominance_pruner.cc match_tree.cc max_cliques.cc pattern_database.cc pattern_generation_edelkamp.cc pattern_generation_haslum.cc pattern_generation_systematic.cc pdb_heuristic.cc util.cc zero_one_pdbs_heuristic.cc potentials/ (Potentials) diverse_potential_heuristics.cc potential_function.cc potential_heuristic.cc potential_max_heuristic.cc potential_optimizer.cc sample_based_potential_heuristics.cc single_potential_heuristics.cc util.cc
2015-11-09 18:06:43floriansetnosy: + florian
messages: + msg4738
summary: Suggested file and namespace structure (still under discussion). The suggested namespace names are in parenthesis, either for individual files or for all files in one directory. core/ (Core) planner.cc axioms.cc causal_graph.cc countdown_timer.cc domain_transition_graph.cc equivalence_relation.cc evaluation_context.cc evaluation_result.cc globals.cc heuristic_cache.cc heuristic.cc priority_queue.cc rng.cc sampling.cc scalar_evaluator.cc search_engine.cc search_progress.cc search_statistics.cc successor_generator.cc system.cc system_unix.cc system_windows.cc timer.cc tracer.cc utilities.cc utilities_hash.cc variable_order_finder.cc search_space/ (Core) int_packer.cc per_state_information.cc search_node_info.cc search_space.cc segmented_vector.cc state_id.cc state_registry.cc tasks/ (Core) abstract_task.cc cost_adapted_task.cc delegating_task.cc global_operator.cc global_state.cc operator_cost.cc root_task.cc task_proxy.cc task_tools.cc options/ (Core) option_parser.cc option_parser_util.cc plugin.cc open_lists/ (Core) alternation_open_list.cc bucket_open_list.cc epsilon_greedy_open_list.cc open_list.cc pareto_open_list.cc standard_scalar_open_list.cc tiebreaking_open_list.cc type_based_open_list.cc evaluators/ const_evaluator.cc (ConstEvaluator) g_evaluator.cc (GEvaluator) combining_evaluator.cc (CombiningEvaluator) max_evaluator.cc (MaxEvaluator) pref_evaluator.cc (PrefEvaluator) weighted_evaluator.cc (WeightedEvaluator) sum_evaluator.cc (SumEvaluator) search/ eager_search.cc (EagerSearch) lazy_search.cc (LazySearch) enforced_hill_climbing_search.cc (EnforcedHillClimbingSearch) iterated_search.cc (IteratedSearch) lp/ (LP) lp_internals.cc lp_solver.cc heuristics/ relaxation_heuristic.cc (RelaxationHeuristic) ipc_max_heuristic.cc (IPCMaxHeuristic) additive_heuristic.cc (AdditiveHeuristic) blind_search_heuristic.cc (BlindSearchHeuristic) cea_heuristic.cc (CEAHeuristic) cg_heuristic.cc (CGHeuristic) cg_cache.cc (CGHeuristic) ff_heuristic.cc (FFHeuristic) goal_count_heuristic.cc (GoalCountHeuristic) hm_heuristic.cc (HMHeuristic) lm_cut_heuristic.cc (LMcutHeuristic) lm_cut_landmarks.cc (LMcutHeuristic) max_heuristic.cc (MaxHeuristic) merge_and_shrink/ (MergeAndShrink) distances.cc factored_transition_system.cc fts_factory.cc heuristic_representation.cc label_equivalence_relation.cc labels.cc merge_and_shrink_heuristic.cc merge_dfp.cc merge_linear.cc merge_strategy.cc shrink_bisimulation.cc shrink_bucket_based.cc shrink_fh.cc shrink_random.cc shrink_strategy.cc transition_system.cc landmarks/ (Landmarks) exploration.cc h_m_landmarks.cc lama_ff_synergy.cc landmark_cost_assignment.cc landmark_count_heuristic.cc landmark_factory.cc landmark_factory_rpg_exhaust.cc landmark_factory_rpg_sasp.cc landmark_factory_zhu_givan.cc landmark_graph.cc landmark_graph_merged.cc landmark_status_manager.cc util.cc operator_counting/ (OperatorCounting) constraint_generator.cc lm_cut_constraints.cc operator_counting_heuristic.cc pho_constraints.cc state_equation_constraints.cc pdbs/ (PDBs) canonical_pdbs_heuristic.cc dominance_pruner.cc match_tree.cc max_cliques.cc pattern_database.cc pattern_generation_edelkamp.cc pattern_generation_haslum.cc pattern_generation_systematic.cc pdb_heuristic.cc util.cc zero_one_pdbs_heuristic.cc potentials/ (Potentials) diverse_potential_heuristics.cc potential_function.cc potential_heuristic.cc potential_max_heuristic.cc potential_optimizer.cc sample_based_potential_heuristics.cc single_potential_heuristics.cc util.cc
2015-11-04 17:27:47jendriksetnosy: + jendrik
2015-10-27 16:04:45maltesetassignedto: erez -> malte
messages: + msg4678
2010-09-03 20:13:33maltesetmessages: + msg488
2010-03-22 12:52:14maltesetassignedto: erez
2010-01-07 18:33:11maltecreate