copy: rewrite as a BFS without using reachiter

* spot/twaalgos/copy.hh: Trim includes.
* spot/twaalgos/copy.cc: Rewrite.
* tests/python/ltsmin.ipynb: Adjust.
This commit is contained in:
Alexandre Duret-Lutz 2016-01-28 15:37:00 +01:00
parent 9b95b697a5
commit 4571d6dd3a
3 changed files with 197 additions and 204 deletions

View file

@ -1,5 +1,5 @@
// -*- coding: utf-8 -*- // -*- coding: utf-8 -*-
// Copyright (C) 2009, 2011, 2012, 2014, 2015 Laboratoire de Recherche // Copyright (C) 2009, 2011, 2012, 2014, 2015, 2016 Laboratoire de Recherche
// et Développement de l'Epita (LRDE). // et Développement de l'Epita (LRDE).
// Copyright (C) 2003, 2004 Laboratoire d'Informatique de Paris 6 (LIP6), // Copyright (C) 2003, 2004 Laboratoire d'Informatique de Paris 6 (LIP6),
// département Systèmes Répartis Coopératifs (SRC), Université Pierre // département Systèmes Répartis Coopératifs (SRC), Université Pierre
@ -22,73 +22,68 @@
#include <spot/twaalgos/copy.hh> #include <spot/twaalgos/copy.hh>
#include <spot/twa/twagraph.hh> #include <spot/twa/twagraph.hh>
#include <sstream> #include <deque>
#include <string>
#include <map>
#include <spot/twaalgos/reachiter.hh>
#include <spot/twaalgos/dot.hh>
namespace spot namespace spot
{ {
namespace
{
class copy_iter: public tgba_reachable_iterator_depth_first
{
public:
copy_iter(const const_twa_ptr& a, twa::prop_set p,
bool preserve_names)
: tgba_reachable_iterator_depth_first(a),
out_(make_twa_graph(a->get_dict()))
{
out_->copy_acceptance_of(a);
out_->copy_ap_of(a);
out_->prop_copy(a, p);
if (preserve_names)
{
names_ = new std::vector<std::string>;
out_->set_named_prop("state-names", names_);
}
}
twa_graph_ptr
result()
{
return out_;
}
virtual void
process_state(const state* s, int n, twa_succ_iterator*)
{
unsigned ns = out_->new_state();
if (names_)
names_->emplace_back(aut_->format_state(s));
assert(ns == static_cast<unsigned>(n) - 1);
(void)ns;
(void)n;
}
virtual void
process_link(const state*, int in,
const state*, int out,
const twa_succ_iterator* si)
{
out_->new_edge
(in - 1, out - 1, si->cond(),
si->acc());
}
protected:
twa_graph_ptr out_;
std::vector<std::string>* names_ = nullptr;
};
} // anonymous
twa_graph_ptr twa_graph_ptr
copy(const const_twa_ptr& aut, twa::prop_set p, bool preserve_names) copy(const const_twa_ptr& aut, twa::prop_set p, bool preserve_names)
{ {
copy_iter di(aut, p, preserve_names); twa_graph_ptr out = make_twa_graph(aut->get_dict());
di.run(); out->copy_acceptance_of(aut);
return di.result(); out->copy_ap_of(aut);
out->prop_copy(aut, p);
std::vector<std::string>* names = nullptr;
if (preserve_names)
{
names = new std::vector<std::string>;
out->set_named_prop("state-names", names);
}
// States already seen.
state_map<unsigned> seen;
// States to process
std::deque<state_map<unsigned>::const_iterator> todo;
auto new_state = [&](const state* s) -> unsigned
{
auto p = seen.emplace(s, 0);
if (p.second)
{
p.first->second = out->new_state();
todo.push_back(p.first);
if (names)
names->push_back(aut->format_state(s));
}
else
{
s->destroy();
}
return p.first->second;
};
out->set_init_state(new_state(aut->get_init_state()));
while (!todo.empty())
{
const state* src1;
unsigned src2;
std::tie(src1, src2) = *todo.front();
todo.pop_front();
for (auto* t: aut->succ(src1))
out->new_edge(src2, new_state(t->dst()), t->cond(), t->acc());
}
auto s = seen.begin();
while (s != seen.end())
{
// Advance the iterator before deleting the "key" pointer.
const state* ptr = s->first;
++s;
ptr->destroy();
}
return out;
} }
} }

View file

@ -1,5 +1,5 @@
// -*- coding: utf-8 -*- // -*- coding: utf-8 -*-
// Copyright (C) 2012, 2013, 2014, 2015 Laboratoire de Recherche et // Copyright (C) 2012, 2013, 2014, 2015, 2016 Laboratoire de Recherche et
// Développement de l'Epita (LRDE). // Développement de l'Epita (LRDE).
// Copyright (C) 2003, 2004, 2005 Laboratoire d'Informatique de Paris // Copyright (C) 2003, 2004, 2005 Laboratoire d'Informatique de Paris
// 6 (LIP6), département Systèmes Répartis Coopératifs (SRC), // 6 (LIP6), département Systèmes Répartis Coopératifs (SRC),
@ -25,7 +25,6 @@
#include <spot/misc/common.hh> #include <spot/misc/common.hh>
#include <spot/twa/fwd.hh> #include <spot/twa/fwd.hh>
#include <spot/twa/twa.hh> #include <spot/twa/twa.hh>
#include <vector>
namespace spot namespace spot
{ {
@ -34,6 +33,5 @@ namespace spot
/// ///
/// This works for using the abstract interface for automata /// This works for using the abstract interface for automata
SPOT_API twa_graph_ptr SPOT_API twa_graph_ptr
copy(const const_twa_ptr& aut, twa::prop_set p, copy(const const_twa_ptr& aut, twa::prop_set p, bool preserve_names = false);
bool preserve_names = false);
} }

View file

@ -1,7 +1,7 @@
{ {
"metadata": { "metadata": {
"name": "", "name": "",
"signature": "sha256:f568358fc00acf6332b52560daa1a34f21cb30c73d81197ab7c5c015de11e12e" "signature": "sha256:83724638edf025d8183ef0d5193234734b94f7e3470d9034bea411e730c834c6"
}, },
"nbformat": 3, "nbformat": 3,
"nbformat_minor": 0, "nbformat_minor": 0,
@ -94,8 +94,8 @@
"prompt_number": 4, "prompt_number": 4,
"text": [ "text": [
"{'state_size': 3,\n", "{'state_size': 3,\n",
" 'types': [('P', ['x']), ('int', [])],\n", " 'variables': [('P', 0), ('P.a', 1), ('P.b', 1)],\n",
" 'variables': [('P', 0), ('P.a', 1), ('P.b', 1)]}" " 'types': [('P', ['x']), ('int', [])]}"
] ]
} }
], ],
@ -149,214 +149,214 @@
"<polygon fill=\"black\" stroke=\"black\" points=\"357.024,-146.527 349.797,-149.114 353.535,-146.25 350.046,-145.974 350.046,-145.974 350.046,-145.974 353.535,-146.25 350.295,-142.834 357.024,-146.527 357.024,-146.527\"/>\n", "<polygon fill=\"black\" stroke=\"black\" points=\"357.024,-146.527 349.797,-149.114 353.535,-146.25 350.046,-145.974 350.046,-145.974 350.046,-145.974 353.535,-146.25 350.295,-142.834 357.024,-146.527 357.024,-146.527\"/>\n",
"<text text-anchor=\"start\" x=\"174.29\" y=\"-148.8\" font-family=\"Lato\" font-size=\"14.00\">&quot;P.a&lt;1&quot; &amp; !&quot;P.b&gt;2&quot; &amp; !dead</text>\n", "<text text-anchor=\"start\" x=\"174.29\" y=\"-148.8\" font-family=\"Lato\" font-size=\"14.00\">&quot;P.a&lt;1&quot; &amp; !&quot;P.b&gt;2&quot; &amp; !dead</text>\n",
"</g>\n", "</g>\n",
"<!-- 12 -->\n", "<!-- 2 -->\n",
"<g id=\"node4\" class=\"node\"><title>12</title>\n", "<g id=\"node4\" class=\"node\"><title>2</title>\n",
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"414.434\" cy=\"-97\" rx=\"59.2899\" ry=\"18\"/>\n", "<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"414.434\" cy=\"-97\" rx=\"59.2899\" ry=\"18\"/>\n",
"<text text-anchor=\"middle\" x=\"414.434\" y=\"-93.3\" font-family=\"Lato\" font-size=\"14.00\">P.a=0, P.b=1</text>\n", "<text text-anchor=\"middle\" x=\"414.434\" y=\"-93.3\" font-family=\"Lato\" font-size=\"14.00\">P.a=0, P.b=1</text>\n",
"</g>\n", "</g>\n",
"<!-- 0&#45;&gt;12 -->\n", "<!-- 0&#45;&gt;2 -->\n",
"<g id=\"edge3\" class=\"edge\"><title>0&#45;&gt;12</title>\n", "<g id=\"edge3\" class=\"edge\"><title>0&#45;&gt;2</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M149.262,-117.331C157.61,-116.092 166.179,-114.926 174.29,-114 233.096,-107.288 300.359,-102.788 348.54,-100.113\"/>\n", "<path fill=\"none\" stroke=\"black\" d=\"M149.262,-117.331C157.61,-116.092 166.179,-114.926 174.29,-114 233.096,-107.288 300.359,-102.788 348.54,-100.113\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"355.805,-99.715 348.988,-103.243 352.31,-99.9063 348.816,-100.098 348.816,-100.098 348.816,-100.098 352.31,-99.9063 348.643,-96.9523 355.805,-99.715 355.805,-99.715\"/>\n", "<polygon fill=\"black\" stroke=\"black\" points=\"355.805,-99.715 348.988,-103.243 352.31,-99.9063 348.816,-100.098 348.816,-100.098 348.816,-100.098 352.31,-99.9063 348.643,-96.9523 355.805,-99.715 355.805,-99.715\"/>\n",
"<text text-anchor=\"start\" x=\"174.29\" y=\"-117.8\" font-family=\"Lato\" font-size=\"14.00\">&quot;P.a&lt;1&quot; &amp; !&quot;P.b&gt;2&quot; &amp; !dead</text>\n", "<text text-anchor=\"start\" x=\"174.29\" y=\"-117.8\" font-family=\"Lato\" font-size=\"14.00\">&quot;P.a&lt;1&quot; &amp; !&quot;P.b&gt;2&quot; &amp; !dead</text>\n",
"</g>\n", "</g>\n",
"<!-- 2 -->\n", "<!-- 3 -->\n",
"<g id=\"node5\" class=\"node\"><title>2</title>\n", "<g id=\"node5\" class=\"node\"><title>3</title>\n",
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"735.724\" cy=\"-181\" rx=\"59.2899\" ry=\"18\"/>\n", "<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"735.724\" cy=\"-181\" rx=\"59.2899\" ry=\"18\"/>\n",
"<text text-anchor=\"middle\" x=\"735.724\" y=\"-177.3\" font-family=\"Lato\" font-size=\"14.00\">P.a=2, P.b=0</text>\n", "<text text-anchor=\"middle\" x=\"735.724\" y=\"-177.3\" font-family=\"Lato\" font-size=\"14.00\">P.a=2, P.b=0</text>\n",
"</g>\n", "</g>\n",
"<!-- 1&#45;&gt;2 -->\n", "<!-- 1&#45;&gt;3 -->\n",
"<g id=\"edge4\" class=\"edge\"><title>1&#45;&gt;2</title>\n", "<g id=\"edge4\" class=\"edge\"><title>1&#45;&gt;3</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M470.738,-156.905C477.751,-157.626 484.832,-158.34 491.579,-159 552.693,-164.975 622.506,-171.233 671.6,-175.54\"/>\n", "<path fill=\"none\" stroke=\"black\" d=\"M470.738,-156.905C477.751,-157.626 484.832,-158.34 491.579,-159 552.693,-164.975 622.506,-171.233 671.6,-175.54\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"678.69,-176.161 671.441,-178.688 675.203,-175.856 671.716,-175.55 671.716,-175.55 671.716,-175.55 675.203,-175.856 671.991,-172.412 678.69,-176.161 678.69,-176.161\"/>\n", "<polygon fill=\"black\" stroke=\"black\" points=\"678.69,-176.161 671.441,-178.688 675.203,-175.856 671.716,-175.55 671.716,-175.55 671.716,-175.55 675.203,-175.856 671.991,-172.412 678.69,-176.161 678.69,-176.161\"/>\n",
"<text text-anchor=\"start\" x=\"491.579\" y=\"-176.8\" font-family=\"Lato\" font-size=\"14.00\">!&quot;P.a&lt;1&quot; &amp; !&quot;P.b&gt;2&quot; &amp; !dead</text>\n", "<text text-anchor=\"start\" x=\"491.579\" y=\"-176.8\" font-family=\"Lato\" font-size=\"14.00\">!&quot;P.a&lt;1&quot; &amp; !&quot;P.b&gt;2&quot; &amp; !dead</text>\n",
"</g>\n", "</g>\n",
"<!-- 9 -->\n", "<!-- 4 -->\n",
"<g id=\"node6\" class=\"node\"><title>9</title>\n", "<g id=\"node6\" class=\"node\"><title>4</title>\n",
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"735.724\" cy=\"-124\" rx=\"59.2899\" ry=\"18\"/>\n", "<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"735.724\" cy=\"-124\" rx=\"59.2899\" ry=\"18\"/>\n",
"<text text-anchor=\"middle\" x=\"735.724\" y=\"-120.3\" font-family=\"Lato\" font-size=\"14.00\">P.a=1, P.b=1</text>\n", "<text text-anchor=\"middle\" x=\"735.724\" y=\"-120.3\" font-family=\"Lato\" font-size=\"14.00\">P.a=1, P.b=1</text>\n",
"</g>\n", "</g>\n",
"<!-- 1&#45;&gt;9 -->\n", "<!-- 1&#45;&gt;4 -->\n",
"<g id=\"edge5\" class=\"edge\"><title>1&#45;&gt;9</title>\n", "<g id=\"edge5\" class=\"edge\"><title>1&#45;&gt;4</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M471.154,-145.816C478.032,-145.194 484.966,-144.576 491.579,-144 552.509,-138.694 622.062,-133.01 671.124,-129.063\"/>\n", "<path fill=\"none\" stroke=\"black\" d=\"M471.154,-145.816C478.032,-145.194 484.966,-144.576 491.579,-144 552.509,-138.694 622.062,-133.01 671.124,-129.063\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"678.211,-128.494 671.486,-132.195 674.722,-128.774 671.234,-129.055 671.234,-129.055 671.234,-129.055 674.722,-128.774 670.981,-125.915 678.211,-128.494 678.211,-128.494\"/>\n", "<polygon fill=\"black\" stroke=\"black\" points=\"678.211,-128.494 671.486,-132.195 674.722,-128.774 671.234,-129.055 671.234,-129.055 671.234,-129.055 674.722,-128.774 670.981,-125.915 678.211,-128.494 678.211,-128.494\"/>\n",
"<text text-anchor=\"start\" x=\"491.579\" y=\"-147.8\" font-family=\"Lato\" font-size=\"14.00\">!&quot;P.a&lt;1&quot; &amp; !&quot;P.b&gt;2&quot; &amp; !dead</text>\n", "<text text-anchor=\"start\" x=\"491.579\" y=\"-147.8\" font-family=\"Lato\" font-size=\"14.00\">!&quot;P.a&lt;1&quot; &amp; !&quot;P.b&gt;2&quot; &amp; !dead</text>\n",
"</g>\n", "</g>\n",
"<!-- 12&#45;&gt;9 -->\n", "<!-- 2&#45;&gt;4 -->\n",
"<g id=\"edge21\" class=\"edge\"><title>12&#45;&gt;9</title>\n", "<g id=\"edge6\" class=\"edge\"><title>2&#45;&gt;4</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M473.536,-99.0371C522.878,-101.137 595.516,-105.101 658.579,-112 664.412,-112.638 670.48,-113.41 676.532,-114.25\"/>\n", "<path fill=\"none\" stroke=\"black\" d=\"M473.536,-99.0371C522.878,-101.137 595.516,-105.101 658.579,-112 664.412,-112.638 670.48,-113.41 676.532,-114.25\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"683.614,-115.265 676.238,-117.39 680.149,-114.768 676.685,-114.272 676.685,-114.272 676.685,-114.272 680.149,-114.768 677.132,-111.154 683.614,-115.265 683.614,-115.265\"/>\n", "<polygon fill=\"black\" stroke=\"black\" points=\"683.614,-115.265 676.238,-117.39 680.149,-114.768 676.685,-114.272 676.685,-114.272 676.685,-114.272 680.149,-114.768 677.132,-111.154 683.614,-115.265 683.614,-115.265\"/>\n",
"<text text-anchor=\"start\" x=\"493.579\" y=\"-115.8\" font-family=\"Lato\" font-size=\"14.00\">&quot;P.a&lt;1&quot; &amp; !&quot;P.b&gt;2&quot; &amp; !dead</text>\n", "<text text-anchor=\"start\" x=\"493.579\" y=\"-115.8\" font-family=\"Lato\" font-size=\"14.00\">&quot;P.a&lt;1&quot; &amp; !&quot;P.b&gt;2&quot; &amp; !dead</text>\n",
"</g>\n", "</g>\n",
"<!-- 13 -->\n", "<!-- 5 -->\n",
"<g id=\"node15\" class=\"node\"><title>13</title>\n", "<g id=\"node7\" class=\"node\"><title>5</title>\n",
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"735.724\" cy=\"-67\" rx=\"59.2899\" ry=\"18\"/>\n", "<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"735.724\" cy=\"-67\" rx=\"59.2899\" ry=\"18\"/>\n",
"<text text-anchor=\"middle\" x=\"735.724\" y=\"-63.3\" font-family=\"Lato\" font-size=\"14.00\">P.a=0, P.b=2</text>\n", "<text text-anchor=\"middle\" x=\"735.724\" y=\"-63.3\" font-family=\"Lato\" font-size=\"14.00\">P.a=0, P.b=2</text>\n",
"</g>\n", "</g>\n",
"<!-- 12&#45;&gt;13 -->\n", "<!-- 2&#45;&gt;5 -->\n",
"<g id=\"edge22\" class=\"edge\"><title>12&#45;&gt;13</title>\n", "<g id=\"edge7\" class=\"edge\"><title>2&#45;&gt;5</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M463.206,-86.5822C472.576,-84.8242 482.358,-83.1873 491.579,-82 551.55,-74.278 620.371,-70.5027 669.453,-68.6743\"/>\n", "<path fill=\"none\" stroke=\"black\" d=\"M463.206,-86.5822C472.576,-84.8242 482.358,-83.1873 491.579,-82 551.55,-74.278 620.371,-70.5027 669.453,-68.6743\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"676.548,-68.4184 669.666,-71.8187 673.05,-68.5446 669.553,-68.6708 669.553,-68.6708 669.553,-68.6708 673.05,-68.5446 669.439,-65.5228 676.548,-68.4184 676.548,-68.4184\"/>\n", "<polygon fill=\"black\" stroke=\"black\" points=\"676.548,-68.4184 669.666,-71.8187 673.05,-68.5446 669.553,-68.6708 669.553,-68.6708 669.553,-68.6708 673.05,-68.5446 669.439,-65.5228 676.548,-68.4184 676.548,-68.4184\"/>\n",
"<text text-anchor=\"start\" x=\"493.579\" y=\"-85.8\" font-family=\"Lato\" font-size=\"14.00\">&quot;P.a&lt;1&quot; &amp; !&quot;P.b&gt;2&quot; &amp; !dead</text>\n", "<text text-anchor=\"start\" x=\"493.579\" y=\"-85.8\" font-family=\"Lato\" font-size=\"14.00\">&quot;P.a&lt;1&quot; &amp; !&quot;P.b&gt;2&quot; &amp; !dead</text>\n",
"</g>\n", "</g>\n",
"<!-- 3 -->\n", "<!-- 6 -->\n",
"<g id=\"node7\" class=\"node\"><title>3</title>\n", "<g id=\"node8\" class=\"node\"><title>6</title>\n",
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"1057.01\" cy=\"-219\" rx=\"59.2899\" ry=\"18\"/>\n", "<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"1057.01\" cy=\"-219\" rx=\"59.2899\" ry=\"18\"/>\n",
"<text text-anchor=\"middle\" x=\"1057.01\" y=\"-215.3\" font-family=\"Lato\" font-size=\"14.00\">P.a=3, P.b=0</text>\n", "<text text-anchor=\"middle\" x=\"1057.01\" y=\"-215.3\" font-family=\"Lato\" font-size=\"14.00\">P.a=3, P.b=0</text>\n",
"</g>\n", "</g>\n",
"<!-- 2&#45;&gt;3 -->\n", "<!-- 3&#45;&gt;6 -->\n",
"<g id=\"edge6\" class=\"edge\"><title>2&#45;&gt;3</title>\n", "<g id=\"edge8\" class=\"edge\"><title>3&#45;&gt;6</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M785.779,-190.641C794.768,-192.231 804.084,-193.761 812.869,-195 873.519,-203.554 943.108,-210.094 992.255,-214.17\"/>\n", "<path fill=\"none\" stroke=\"black\" d=\"M785.779,-190.641C794.768,-192.231 804.084,-193.761 812.869,-195 873.519,-203.554 943.108,-210.094 992.255,-214.17\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"999.354,-214.754 992.12,-217.32 995.866,-214.467 992.378,-214.18 992.378,-214.18 992.378,-214.18 995.866,-214.467 992.636,-211.041 999.354,-214.754 999.354,-214.754\"/>\n", "<polygon fill=\"black\" stroke=\"black\" points=\"999.354,-214.754 992.12,-217.32 995.866,-214.467 992.378,-214.18 992.378,-214.18 992.378,-214.18 995.866,-214.467 992.636,-211.041 999.354,-214.754 999.354,-214.754\"/>\n",
"<text text-anchor=\"start\" x=\"812.869\" y=\"-216.8\" font-family=\"Lato\" font-size=\"14.00\">!&quot;P.a&lt;1&quot; &amp; !&quot;P.b&gt;2&quot; &amp; !dead</text>\n", "<text text-anchor=\"start\" x=\"812.869\" y=\"-216.8\" font-family=\"Lato\" font-size=\"14.00\">!&quot;P.a&lt;1&quot; &amp; !&quot;P.b&gt;2&quot; &amp; !dead</text>\n",
"</g>\n", "</g>\n",
"<!-- 4 -->\n", "<!-- 7 -->\n",
"<g id=\"node8\" class=\"node\"><title>4</title>\n", "<g id=\"node9\" class=\"node\"><title>7</title>\n",
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"1057.01\" cy=\"-162\" rx=\"59.2899\" ry=\"18\"/>\n", "<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"1057.01\" cy=\"-162\" rx=\"59.2899\" ry=\"18\"/>\n",
"<text text-anchor=\"middle\" x=\"1057.01\" y=\"-158.3\" font-family=\"Lato\" font-size=\"14.00\">P.a=2, P.b=1</text>\n", "<text text-anchor=\"middle\" x=\"1057.01\" y=\"-158.3\" font-family=\"Lato\" font-size=\"14.00\">P.a=2, P.b=1</text>\n",
"</g>\n", "</g>\n",
"<!-- 2&#45;&gt;4 -->\n", "<!-- 3&#45;&gt;7 -->\n",
"<g id=\"edge7\" class=\"edge\"><title>2&#45;&gt;4</title>\n", "<g id=\"edge9\" class=\"edge\"><title>3&#45;&gt;7</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M793.806,-177.603C849.367,-174.297 933.671,-169.28 991.603,-165.833\"/>\n", "<path fill=\"none\" stroke=\"black\" d=\"M793.806,-177.603C849.367,-174.297 933.671,-169.28 991.603,-165.833\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"998.888,-165.399 992.087,-168.96 995.394,-165.607 991.9,-165.815 991.9,-165.815 991.9,-165.815 995.394,-165.607 991.713,-162.671 998.888,-165.399 998.888,-165.399\"/>\n", "<polygon fill=\"black\" stroke=\"black\" points=\"998.888,-165.399 992.087,-168.96 995.394,-165.607 991.9,-165.815 991.9,-165.815 991.9,-165.815 995.394,-165.607 991.713,-162.671 998.888,-165.399 998.888,-165.399\"/>\n",
"<text text-anchor=\"start\" x=\"812.869\" y=\"-179.8\" font-family=\"Lato\" font-size=\"14.00\">!&quot;P.a&lt;1&quot; &amp; !&quot;P.b&gt;2&quot; &amp; !dead</text>\n", "<text text-anchor=\"start\" x=\"812.869\" y=\"-179.8\" font-family=\"Lato\" font-size=\"14.00\">!&quot;P.a&lt;1&quot; &amp; !&quot;P.b&gt;2&quot; &amp; !dead</text>\n",
"</g>\n", "</g>\n",
"<!-- 9&#45;&gt;4 -->\n", "<!-- 4&#45;&gt;7 -->\n",
"<g id=\"edge16\" class=\"edge\"><title>9&#45;&gt;4</title>\n", "<g id=\"edge10\" class=\"edge\"><title>4&#45;&gt;7</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M793.383,-128.246C842.763,-132.268 916.235,-139.026 979.869,-148 986.319,-148.91 993.057,-149.977 999.742,-151.109\"/>\n", "<path fill=\"none\" stroke=\"black\" d=\"M793.383,-128.246C842.763,-132.268 916.235,-139.026 979.869,-148 986.319,-148.91 993.057,-149.977 999.742,-151.109\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"1006.96,-152.359 999.524,-154.268 1003.51,-151.762 1000.06,-151.164 1000.06,-151.164 1000.06,-151.164 1003.51,-151.762 1000.6,-148.061 1006.96,-152.359 1006.96,-152.359\"/>\n", "<polygon fill=\"black\" stroke=\"black\" points=\"1006.96,-152.359 999.524,-154.268 1003.51,-151.762 1000.06,-151.164 1000.06,-151.164 1000.06,-151.164 1003.51,-151.762 1000.6,-148.061 1006.96,-152.359 1006.96,-152.359\"/>\n",
"<text text-anchor=\"start\" x=\"812.869\" y=\"-151.8\" font-family=\"Lato\" font-size=\"14.00\">!&quot;P.a&lt;1&quot; &amp; !&quot;P.b&gt;2&quot; &amp; !dead</text>\n", "<text text-anchor=\"start\" x=\"812.869\" y=\"-151.8\" font-family=\"Lato\" font-size=\"14.00\">!&quot;P.a&lt;1&quot; &amp; !&quot;P.b&gt;2&quot; &amp; !dead</text>\n",
"</g>\n", "</g>\n",
"<!-- 10 -->\n", "<!-- 8 -->\n",
"<g id=\"node13\" class=\"node\"><title>10</title>\n", "<g id=\"node10\" class=\"node\"><title>8</title>\n",
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"1057.01\" cy=\"-105\" rx=\"59.2899\" ry=\"18\"/>\n", "<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"1057.01\" cy=\"-105\" rx=\"59.2899\" ry=\"18\"/>\n",
"<text text-anchor=\"middle\" x=\"1057.01\" y=\"-101.3\" font-family=\"Lato\" font-size=\"14.00\">P.a=1, P.b=2</text>\n", "<text text-anchor=\"middle\" x=\"1057.01\" y=\"-101.3\" font-family=\"Lato\" font-size=\"14.00\">P.a=1, P.b=2</text>\n",
"</g>\n", "</g>\n",
"<!-- 9&#45;&gt;10 -->\n", "<!-- 4&#45;&gt;8 -->\n",
"<g id=\"edge17\" class=\"edge\"><title>9&#45;&gt;10</title>\n", "<g id=\"edge11\" class=\"edge\"><title>4&#45;&gt;8</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M779.906,-111.991C790.594,-109.519 802.077,-107.281 812.869,-106 873.199,-98.8403 942.543,-99.4149 991.699,-101.29\"/>\n", "<path fill=\"none\" stroke=\"black\" d=\"M779.906,-111.991C790.594,-109.519 802.077,-107.281 812.869,-106 873.199,-98.8403 942.543,-99.4149 991.699,-101.29\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"998.801,-101.576 991.68,-104.442 995.304,-101.435 991.807,-101.294 991.807,-101.294 991.807,-101.294 995.304,-101.435 991.933,-98.147 998.801,-101.576 998.801,-101.576\"/>\n", "<polygon fill=\"black\" stroke=\"black\" points=\"998.801,-101.576 991.68,-104.442 995.304,-101.435 991.807,-101.294 991.807,-101.294 991.807,-101.294 995.304,-101.435 991.933,-98.147 998.801,-101.576 998.801,-101.576\"/>\n",
"<text text-anchor=\"start\" x=\"812.869\" y=\"-109.8\" font-family=\"Lato\" font-size=\"14.00\">!&quot;P.a&lt;1&quot; &amp; !&quot;P.b&gt;2&quot; &amp; !dead</text>\n", "<text text-anchor=\"start\" x=\"812.869\" y=\"-109.8\" font-family=\"Lato\" font-size=\"14.00\">!&quot;P.a&lt;1&quot; &amp; !&quot;P.b&gt;2&quot; &amp; !dead</text>\n",
"</g>\n", "</g>\n",
"<!-- 3&#45;&gt;3 -->\n", "<!-- 5&#45;&gt;8 -->\n",
"<g id=\"edge8\" class=\"edge\"><title>3&#45;&gt;3</title>\n", "<g id=\"edge12\" class=\"edge\"><title>5&#45;&gt;8</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M1029.39,-234.916C1022.18,-245.15 1031.39,-255 1057.01,-255 1076.63,-255 1086.63,-249.226 1087,-241.927\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"1084.64,-234.916 1089.86,-240.544 1085.76,-238.233 1086.88,-241.55 1086.88,-241.55 1086.88,-241.55 1085.76,-238.233 1083.89,-242.555 1084.64,-234.916 1084.64,-234.916\"/>\n",
"<text text-anchor=\"start\" x=\"975.513\" y=\"-258.8\" font-family=\"Lato\" font-size=\"14.00\">!&quot;P.a&lt;1&quot; &amp; !&quot;P.b&gt;2&quot; &amp; dead</text>\n",
"</g>\n",
"<!-- 5 -->\n",
"<g id=\"node9\" class=\"node\"><title>5</title>\n",
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"1378.3\" cy=\"-208\" rx=\"59.2899\" ry=\"18\"/>\n",
"<text text-anchor=\"middle\" x=\"1378.3\" y=\"-204.3\" font-family=\"Lato\" font-size=\"14.00\">P.a=3, P.b=1</text>\n",
"</g>\n",
"<!-- 4&#45;&gt;5 -->\n",
"<g id=\"edge9\" class=\"edge\"><title>4&#45;&gt;5</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M1102.93,-173.541C1113.15,-175.909 1123.99,-178.219 1134.16,-180 1194.79,-190.621 1264.67,-198.188 1313.91,-202.756\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"1321.02,-203.408 1313.76,-205.906 1317.54,-203.089 1314.05,-202.769 1314.05,-202.769 1314.05,-202.769 1317.54,-203.089 1314.34,-199.632 1321.02,-203.408 1321.02,-203.408\"/>\n",
"<text text-anchor=\"start\" x=\"1134.16\" y=\"-204.8\" font-family=\"Lato\" font-size=\"14.00\">!&quot;P.a&lt;1&quot; &amp; !&quot;P.b&gt;2&quot; &amp; !dead</text>\n",
"</g>\n",
"<!-- 6 -->\n",
"<g id=\"node10\" class=\"node\"><title>6</title>\n",
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"1378.3\" cy=\"-154\" rx=\"59.2899\" ry=\"18\"/>\n",
"<text text-anchor=\"middle\" x=\"1378.3\" y=\"-150.3\" font-family=\"Lato\" font-size=\"14.00\">P.a=2, P.b=2</text>\n",
"</g>\n",
"<!-- 4&#45;&gt;6 -->\n",
"<g id=\"edge10\" class=\"edge\"><title>4&#45;&gt;6</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M1116.2,-160.542C1171.49,-159.157 1254.49,-157.077 1312.01,-155.636\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"1319.24,-155.455 1312.32,-158.779 1315.74,-155.542 1312.24,-155.63 1312.24,-155.63 1312.24,-155.63 1315.74,-155.542 1312.17,-152.481 1319.24,-155.455 1319.24,-155.455\"/>\n",
"<text text-anchor=\"start\" x=\"1134.16\" y=\"-164.8\" font-family=\"Lato\" font-size=\"14.00\">!&quot;P.a&lt;1&quot; &amp; !&quot;P.b&gt;2&quot; &amp; !dead</text>\n",
"</g>\n",
"<!-- 5&#45;&gt;5 -->\n",
"<g id=\"edge11\" class=\"edge\"><title>5&#45;&gt;5</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M1350.68,-223.916C1343.47,-234.15 1352.68,-244 1378.3,-244 1397.92,-244 1407.92,-238.226 1408.29,-230.927\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"1405.93,-223.916 1411.15,-229.544 1407.05,-227.233 1408.16,-230.55 1408.16,-230.55 1408.16,-230.55 1407.05,-227.233 1405.18,-231.555 1405.93,-223.916 1405.93,-223.916\"/>\n",
"<text text-anchor=\"start\" x=\"1296.8\" y=\"-247.8\" font-family=\"Lato\" font-size=\"14.00\">!&quot;P.a&lt;1&quot; &amp; !&quot;P.b&gt;2&quot; &amp; dead</text>\n",
"</g>\n",
"<!-- 7 -->\n",
"<g id=\"node11\" class=\"node\"><title>7</title>\n",
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"1699.59\" cy=\"-186\" rx=\"59.2899\" ry=\"18\"/>\n",
"<text text-anchor=\"middle\" x=\"1699.59\" y=\"-182.3\" font-family=\"Lato\" font-size=\"14.00\">P.a=3, P.b=2</text>\n",
"</g>\n",
"<!-- 6&#45;&gt;7 -->\n",
"<g id=\"edge12\" class=\"edge\"><title>6&#45;&gt;7</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M1434.92,-159.574C1491.06,-165.201 1577.61,-173.874 1636.09,-179.736\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"1643.08,-180.436 1635.8,-182.872 1639.6,-180.087 1636.11,-179.738 1636.11,-179.738 1636.11,-179.738 1639.6,-180.087 1636.43,-176.604 1643.08,-180.436 1643.08,-180.436\"/>\n",
"<text text-anchor=\"start\" x=\"1455.45\" y=\"-181.8\" font-family=\"Lato\" font-size=\"14.00\">!&quot;P.a&lt;1&quot; &amp; !&quot;P.b&gt;2&quot; &amp; !dead</text>\n",
"</g>\n",
"<!-- 8 -->\n",
"<g id=\"node12\" class=\"node\"><title>8</title>\n",
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"1699.59\" cy=\"-99\" rx=\"59.2899\" ry=\"18\"/>\n",
"<text text-anchor=\"middle\" x=\"1699.59\" y=\"-95.3\" font-family=\"Lato\" font-size=\"14.00\">P.a=2, P.b=3</text>\n",
"</g>\n",
"<!-- 6&#45;&gt;8 -->\n",
"<g id=\"edge13\" class=\"edge\"><title>6&#45;&gt;8</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M1430.25,-145.224C1487.6,-135.345 1580.6,-119.325 1640.67,-108.977\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"1647.83,-107.744 1641.46,-112.037 1644.38,-108.339 1640.93,-108.933 1640.93,-108.933 1640.93,-108.933 1644.38,-108.339 1640.4,-105.829 1647.83,-107.744 1647.83,-107.744\"/>\n",
"<text text-anchor=\"start\" x=\"1455.45\" y=\"-144.8\" font-family=\"Lato\" font-size=\"14.00\">!&quot;P.a&lt;1&quot; &amp; !&quot;P.b&gt;2&quot; &amp; !dead</text>\n",
"</g>\n",
"<!-- 7&#45;&gt;7 -->\n",
"<g id=\"edge14\" class=\"edge\"><title>7&#45;&gt;7</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M1671.97,-201.916C1664.76,-212.15 1673.97,-222 1699.59,-222 1719.21,-222 1729.21,-216.226 1729.58,-208.927\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"1727.22,-201.916 1732.44,-207.544 1728.34,-205.233 1729.45,-208.55 1729.45,-208.55 1729.45,-208.55 1728.34,-205.233 1726.47,-209.555 1727.22,-201.916 1727.22,-201.916\"/>\n",
"<text text-anchor=\"start\" x=\"1618.09\" y=\"-225.8\" font-family=\"Lato\" font-size=\"14.00\">!&quot;P.a&lt;1&quot; &amp; !&quot;P.b&gt;2&quot; &amp; dead</text>\n",
"</g>\n",
"<!-- 8&#45;&gt;8 -->\n",
"<g id=\"edge15\" class=\"edge\"><title>8&#45;&gt;8</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M1671.97,-114.916C1664.76,-125.15 1673.97,-135 1699.59,-135 1719.21,-135 1729.21,-129.226 1729.58,-121.927\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"1727.22,-114.916 1732.44,-120.544 1728.34,-118.233 1729.45,-121.55 1729.45,-121.55 1729.45,-121.55 1728.34,-118.233 1726.47,-122.555 1727.22,-114.916 1727.22,-114.916\"/>\n",
"<text text-anchor=\"start\" x=\"1619.59\" y=\"-138.8\" font-family=\"Lato\" font-size=\"14.00\">!&quot;P.a&lt;1&quot; &amp; &quot;P.b&gt;2&quot; &amp; dead</text>\n",
"</g>\n",
"<!-- 10&#45;&gt;6 -->\n",
"<g id=\"edge18\" class=\"edge\"><title>10&#45;&gt;6</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M1113.27,-110.856C1162.69,-116.43 1237.01,-125.642 1301.16,-137 1308.61,-138.32 1316.44,-139.874 1324.13,-141.497\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"1331.13,-143.002 1323.62,-144.61 1327.71,-142.266 1324.28,-141.531 1324.28,-141.531 1324.28,-141.531 1327.71,-142.266 1324.95,-138.451 1331.13,-143.002 1331.13,-143.002\"/>\n",
"<text text-anchor=\"start\" x=\"1134.16\" y=\"-140.8\" font-family=\"Lato\" font-size=\"14.00\">!&quot;P.a&lt;1&quot; &amp; !&quot;P.b&gt;2&quot; &amp; !dead</text>\n",
"</g>\n",
"<!-- 11 -->\n",
"<g id=\"node14\" class=\"node\"><title>11</title>\n",
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"1378.3\" cy=\"-67\" rx=\"59.2899\" ry=\"18\"/>\n",
"<text text-anchor=\"middle\" x=\"1378.3\" y=\"-63.3\" font-family=\"Lato\" font-size=\"14.00\">P.a=1, P.b=3</text>\n",
"</g>\n",
"<!-- 10&#45;&gt;11 -->\n",
"<g id=\"edge19\" class=\"edge\"><title>10&#45;&gt;11</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M1090.3,-90.0264C1103.59,-84.5744 1119.32,-79.0137 1134.16,-76 1193.74,-63.8954 1263.17,-62.5565 1312.56,-63.7043\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"1319.69,-63.8907 1312.61,-66.8568 1316.19,-63.7993 1312.69,-63.7078 1312.69,-63.7078 1312.69,-63.7078 1316.19,-63.7993 1312.78,-60.5589 1319.69,-63.8907 1319.69,-63.8907\"/>\n",
"<text text-anchor=\"start\" x=\"1134.16\" y=\"-79.8\" font-family=\"Lato\" font-size=\"14.00\">!&quot;P.a&lt;1&quot; &amp; !&quot;P.b&gt;2&quot; &amp; !dead</text>\n",
"</g>\n",
"<!-- 11&#45;&gt;11 -->\n",
"<g id=\"edge20\" class=\"edge\"><title>11&#45;&gt;11</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M1350.68,-82.916C1343.47,-93.1504 1352.68,-103 1378.3,-103 1397.92,-103 1407.92,-97.2263 1408.29,-89.9268\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"1405.93,-82.916 1411.15,-88.5438 1407.05,-86.2328 1408.16,-89.5496 1408.16,-89.5496 1408.16,-89.5496 1407.05,-86.2328 1405.18,-90.5554 1405.93,-82.916 1405.93,-82.916\"/>\n",
"<text text-anchor=\"start\" x=\"1298.3\" y=\"-106.8\" font-family=\"Lato\" font-size=\"14.00\">!&quot;P.a&lt;1&quot; &amp; &quot;P.b&gt;2&quot; &amp; dead</text>\n",
"</g>\n",
"<!-- 13&#45;&gt;10 -->\n",
"<g id=\"edge23\" class=\"edge\"><title>13&#45;&gt;10</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M795.145,-66.8248C844.681,-67.5751 917.426,-70.7999 979.869,-82 990.029,-83.8224 1000.75,-86.5416 1010.83,-89.4783\"/>\n", "<path fill=\"none\" stroke=\"black\" d=\"M795.145,-66.8248C844.681,-67.5751 917.426,-70.7999 979.869,-82 990.029,-83.8224 1000.75,-86.5416 1010.83,-89.4783\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"1017.7,-91.5379 1010.09,-92.5438 1014.35,-90.5323 1010.99,-89.5266 1010.99,-89.5266 1010.99,-89.5266 1014.35,-90.5323 1011.9,-86.5094 1017.7,-91.5379 1017.7,-91.5379\"/>\n", "<polygon fill=\"black\" stroke=\"black\" points=\"1017.7,-91.5379 1010.09,-92.5438 1014.35,-90.5323 1010.99,-89.5266 1010.99,-89.5266 1010.99,-89.5266 1014.35,-90.5323 1011.9,-86.5094 1017.7,-91.5379 1017.7,-91.5379\"/>\n",
"<text text-anchor=\"start\" x=\"814.869\" y=\"-85.8\" font-family=\"Lato\" font-size=\"14.00\">&quot;P.a&lt;1&quot; &amp; !&quot;P.b&gt;2&quot; &amp; !dead</text>\n", "<text text-anchor=\"start\" x=\"814.869\" y=\"-85.8\" font-family=\"Lato\" font-size=\"14.00\">&quot;P.a&lt;1&quot; &amp; !&quot;P.b&gt;2&quot; &amp; !dead</text>\n",
"</g>\n", "</g>\n",
"<!-- 14 -->\n", "<!-- 9 -->\n",
"<g id=\"node16\" class=\"node\"><title>14</title>\n", "<g id=\"node11\" class=\"node\"><title>9</title>\n",
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"1057.01\" cy=\"-18\" rx=\"59.2899\" ry=\"18\"/>\n", "<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"1057.01\" cy=\"-18\" rx=\"59.2899\" ry=\"18\"/>\n",
"<text text-anchor=\"middle\" x=\"1057.01\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\">P.a=0, P.b=3</text>\n", "<text text-anchor=\"middle\" x=\"1057.01\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\">P.a=0, P.b=3</text>\n",
"</g>\n", "</g>\n",
"<!-- 13&#45;&gt;14 -->\n", "<!-- 5&#45;&gt;9 -->\n",
"<g id=\"edge24\" class=\"edge\"><title>13&#45;&gt;14</title>\n", "<g id=\"edge13\" class=\"edge\"><title>5&#45;&gt;9</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M781.654,-55.5506C791.873,-53.178 802.711,-50.8429 812.869,-49 873.728,-37.9586 943.862,-29.4618 993.118,-24.1795\"/>\n", "<path fill=\"none\" stroke=\"black\" d=\"M781.654,-55.5506C791.873,-53.178 802.711,-50.8429 812.869,-49 873.728,-37.9586 943.862,-29.4618 993.118,-24.1795\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"1000.23,-23.4235 993.603,-27.2958 996.75,-23.7935 993.27,-24.1635 993.27,-24.1635 993.27,-24.1635 996.75,-23.7935 992.937,-21.0311 1000.23,-23.4235 1000.23,-23.4235\"/>\n", "<polygon fill=\"black\" stroke=\"black\" points=\"1000.23,-23.4235 993.603,-27.2958 996.75,-23.7935 993.27,-24.1635 993.27,-24.1635 993.27,-24.1635 996.75,-23.7935 992.937,-21.0311 1000.23,-23.4235 1000.23,-23.4235\"/>\n",
"<text text-anchor=\"start\" x=\"814.869\" y=\"-52.8\" font-family=\"Lato\" font-size=\"14.00\">&quot;P.a&lt;1&quot; &amp; !&quot;P.b&gt;2&quot; &amp; !dead</text>\n", "<text text-anchor=\"start\" x=\"814.869\" y=\"-52.8\" font-family=\"Lato\" font-size=\"14.00\">&quot;P.a&lt;1&quot; &amp; !&quot;P.b&gt;2&quot; &amp; !dead</text>\n",
"</g>\n", "</g>\n",
"<!-- 14&#45;&gt;14 -->\n", "<!-- 6&#45;&gt;6 -->\n",
"<g id=\"edge25\" class=\"edge\"><title>14&#45;&gt;14</title>\n", "<g id=\"edge14\" class=\"edge\"><title>6&#45;&gt;6</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M1029.39,-234.916C1022.18,-245.15 1031.39,-255 1057.01,-255 1076.63,-255 1086.63,-249.226 1087,-241.927\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"1084.64,-234.916 1089.86,-240.544 1085.76,-238.233 1086.88,-241.55 1086.88,-241.55 1086.88,-241.55 1085.76,-238.233 1083.89,-242.555 1084.64,-234.916 1084.64,-234.916\"/>\n",
"<text text-anchor=\"start\" x=\"975.513\" y=\"-258.8\" font-family=\"Lato\" font-size=\"14.00\">!&quot;P.a&lt;1&quot; &amp; !&quot;P.b&gt;2&quot; &amp; dead</text>\n",
"</g>\n",
"<!-- 10 -->\n",
"<g id=\"node12\" class=\"node\"><title>10</title>\n",
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"1378.3\" cy=\"-208\" rx=\"59.2899\" ry=\"18\"/>\n",
"<text text-anchor=\"middle\" x=\"1378.3\" y=\"-204.3\" font-family=\"Lato\" font-size=\"14.00\">P.a=3, P.b=1</text>\n",
"</g>\n",
"<!-- 7&#45;&gt;10 -->\n",
"<g id=\"edge15\" class=\"edge\"><title>7&#45;&gt;10</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M1102.93,-173.541C1113.15,-175.909 1123.99,-178.219 1134.16,-180 1194.79,-190.621 1264.67,-198.188 1313.91,-202.756\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"1321.02,-203.408 1313.76,-205.906 1317.54,-203.089 1314.05,-202.769 1314.05,-202.769 1314.05,-202.769 1317.54,-203.089 1314.34,-199.632 1321.02,-203.408 1321.02,-203.408\"/>\n",
"<text text-anchor=\"start\" x=\"1134.16\" y=\"-204.8\" font-family=\"Lato\" font-size=\"14.00\">!&quot;P.a&lt;1&quot; &amp; !&quot;P.b&gt;2&quot; &amp; !dead</text>\n",
"</g>\n",
"<!-- 11 -->\n",
"<g id=\"node13\" class=\"node\"><title>11</title>\n",
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"1378.3\" cy=\"-154\" rx=\"59.2899\" ry=\"18\"/>\n",
"<text text-anchor=\"middle\" x=\"1378.3\" y=\"-150.3\" font-family=\"Lato\" font-size=\"14.00\">P.a=2, P.b=2</text>\n",
"</g>\n",
"<!-- 7&#45;&gt;11 -->\n",
"<g id=\"edge16\" class=\"edge\"><title>7&#45;&gt;11</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M1116.2,-160.542C1171.49,-159.157 1254.49,-157.077 1312.01,-155.636\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"1319.24,-155.455 1312.32,-158.779 1315.74,-155.542 1312.24,-155.63 1312.24,-155.63 1312.24,-155.63 1315.74,-155.542 1312.17,-152.481 1319.24,-155.455 1319.24,-155.455\"/>\n",
"<text text-anchor=\"start\" x=\"1134.16\" y=\"-164.8\" font-family=\"Lato\" font-size=\"14.00\">!&quot;P.a&lt;1&quot; &amp; !&quot;P.b&gt;2&quot; &amp; !dead</text>\n",
"</g>\n",
"<!-- 8&#45;&gt;11 -->\n",
"<g id=\"edge17\" class=\"edge\"><title>8&#45;&gt;11</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M1113.27,-110.856C1162.69,-116.43 1237.01,-125.642 1301.16,-137 1308.61,-138.32 1316.44,-139.874 1324.13,-141.497\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"1331.13,-143.002 1323.62,-144.61 1327.71,-142.266 1324.28,-141.531 1324.28,-141.531 1324.28,-141.531 1327.71,-142.266 1324.95,-138.451 1331.13,-143.002 1331.13,-143.002\"/>\n",
"<text text-anchor=\"start\" x=\"1134.16\" y=\"-140.8\" font-family=\"Lato\" font-size=\"14.00\">!&quot;P.a&lt;1&quot; &amp; !&quot;P.b&gt;2&quot; &amp; !dead</text>\n",
"</g>\n",
"<!-- 12 -->\n",
"<g id=\"node14\" class=\"node\"><title>12</title>\n",
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"1378.3\" cy=\"-67\" rx=\"59.2899\" ry=\"18\"/>\n",
"<text text-anchor=\"middle\" x=\"1378.3\" y=\"-63.3\" font-family=\"Lato\" font-size=\"14.00\">P.a=1, P.b=3</text>\n",
"</g>\n",
"<!-- 8&#45;&gt;12 -->\n",
"<g id=\"edge18\" class=\"edge\"><title>8&#45;&gt;12</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M1090.3,-90.0264C1103.59,-84.5744 1119.32,-79.0137 1134.16,-76 1193.74,-63.8954 1263.17,-62.5565 1312.56,-63.7043\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"1319.69,-63.8907 1312.61,-66.8568 1316.19,-63.7993 1312.69,-63.7078 1312.69,-63.7078 1312.69,-63.7078 1316.19,-63.7993 1312.78,-60.5589 1319.69,-63.8907 1319.69,-63.8907\"/>\n",
"<text text-anchor=\"start\" x=\"1134.16\" y=\"-79.8\" font-family=\"Lato\" font-size=\"14.00\">!&quot;P.a&lt;1&quot; &amp; !&quot;P.b&gt;2&quot; &amp; !dead</text>\n",
"</g>\n",
"<!-- 9&#45;&gt;9 -->\n",
"<g id=\"edge19\" class=\"edge\"><title>9&#45;&gt;9</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M1029.39,-33.916C1022.18,-44.1504 1031.39,-54 1057.01,-54 1076.63,-54 1086.63,-48.2263 1087,-40.9268\"/>\n", "<path fill=\"none\" stroke=\"black\" d=\"M1029.39,-33.916C1022.18,-44.1504 1031.39,-54 1057.01,-54 1076.63,-54 1086.63,-48.2263 1087,-40.9268\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"1084.64,-33.916 1089.86,-39.5438 1085.76,-37.2328 1086.88,-40.5496 1086.88,-40.5496 1086.88,-40.5496 1085.76,-37.2328 1083.89,-41.5554 1084.64,-33.916 1084.64,-33.916\"/>\n", "<polygon fill=\"black\" stroke=\"black\" points=\"1084.64,-33.916 1089.86,-39.5438 1085.76,-37.2328 1086.88,-40.5496 1086.88,-40.5496 1086.88,-40.5496 1085.76,-37.2328 1083.89,-41.5554 1084.64,-33.916 1084.64,-33.916\"/>\n",
"<text text-anchor=\"start\" x=\"979.013\" y=\"-57.8\" font-family=\"Lato\" font-size=\"14.00\">&quot;P.a&lt;1&quot; &amp; &quot;P.b&gt;2&quot; &amp; dead</text>\n", "<text text-anchor=\"start\" x=\"979.013\" y=\"-57.8\" font-family=\"Lato\" font-size=\"14.00\">&quot;P.a&lt;1&quot; &amp; &quot;P.b&gt;2&quot; &amp; dead</text>\n",
"</g>\n", "</g>\n",
"<!-- 10&#45;&gt;10 -->\n",
"<g id=\"edge20\" class=\"edge\"><title>10&#45;&gt;10</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M1350.68,-223.916C1343.47,-234.15 1352.68,-244 1378.3,-244 1397.92,-244 1407.92,-238.226 1408.29,-230.927\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"1405.93,-223.916 1411.15,-229.544 1407.05,-227.233 1408.16,-230.55 1408.16,-230.55 1408.16,-230.55 1407.05,-227.233 1405.18,-231.555 1405.93,-223.916 1405.93,-223.916\"/>\n",
"<text text-anchor=\"start\" x=\"1296.8\" y=\"-247.8\" font-family=\"Lato\" font-size=\"14.00\">!&quot;P.a&lt;1&quot; &amp; !&quot;P.b&gt;2&quot; &amp; dead</text>\n",
"</g>\n",
"<!-- 13 -->\n",
"<g id=\"node15\" class=\"node\"><title>13</title>\n",
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"1699.59\" cy=\"-186\" rx=\"59.2899\" ry=\"18\"/>\n",
"<text text-anchor=\"middle\" x=\"1699.59\" y=\"-182.3\" font-family=\"Lato\" font-size=\"14.00\">P.a=3, P.b=2</text>\n",
"</g>\n",
"<!-- 11&#45;&gt;13 -->\n",
"<g id=\"edge21\" class=\"edge\"><title>11&#45;&gt;13</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M1434.92,-159.574C1491.06,-165.201 1577.61,-173.874 1636.09,-179.736\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"1643.08,-180.436 1635.8,-182.872 1639.6,-180.087 1636.11,-179.738 1636.11,-179.738 1636.11,-179.738 1639.6,-180.087 1636.43,-176.604 1643.08,-180.436 1643.08,-180.436\"/>\n",
"<text text-anchor=\"start\" x=\"1455.45\" y=\"-181.8\" font-family=\"Lato\" font-size=\"14.00\">!&quot;P.a&lt;1&quot; &amp; !&quot;P.b&gt;2&quot; &amp; !dead</text>\n",
"</g>\n",
"<!-- 14 -->\n",
"<g id=\"node16\" class=\"node\"><title>14</title>\n",
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"1699.59\" cy=\"-99\" rx=\"59.2899\" ry=\"18\"/>\n",
"<text text-anchor=\"middle\" x=\"1699.59\" y=\"-95.3\" font-family=\"Lato\" font-size=\"14.00\">P.a=2, P.b=3</text>\n",
"</g>\n",
"<!-- 11&#45;&gt;14 -->\n",
"<g id=\"edge22\" class=\"edge\"><title>11&#45;&gt;14</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M1430.25,-145.224C1487.6,-135.345 1580.6,-119.325 1640.67,-108.977\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"1647.83,-107.744 1641.46,-112.037 1644.38,-108.339 1640.93,-108.933 1640.93,-108.933 1640.93,-108.933 1644.38,-108.339 1640.4,-105.829 1647.83,-107.744 1647.83,-107.744\"/>\n",
"<text text-anchor=\"start\" x=\"1455.45\" y=\"-144.8\" font-family=\"Lato\" font-size=\"14.00\">!&quot;P.a&lt;1&quot; &amp; !&quot;P.b&gt;2&quot; &amp; !dead</text>\n",
"</g>\n",
"<!-- 12&#45;&gt;12 -->\n",
"<g id=\"edge23\" class=\"edge\"><title>12&#45;&gt;12</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M1350.68,-82.916C1343.47,-93.1504 1352.68,-103 1378.3,-103 1397.92,-103 1407.92,-97.2263 1408.29,-89.9268\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"1405.93,-82.916 1411.15,-88.5438 1407.05,-86.2328 1408.16,-89.5496 1408.16,-89.5496 1408.16,-89.5496 1407.05,-86.2328 1405.18,-90.5554 1405.93,-82.916 1405.93,-82.916\"/>\n",
"<text text-anchor=\"start\" x=\"1298.3\" y=\"-106.8\" font-family=\"Lato\" font-size=\"14.00\">!&quot;P.a&lt;1&quot; &amp; &quot;P.b&gt;2&quot; &amp; dead</text>\n",
"</g>\n",
"<!-- 13&#45;&gt;13 -->\n",
"<g id=\"edge24\" class=\"edge\"><title>13&#45;&gt;13</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M1671.97,-201.916C1664.76,-212.15 1673.97,-222 1699.59,-222 1719.21,-222 1729.21,-216.226 1729.58,-208.927\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"1727.22,-201.916 1732.44,-207.544 1728.34,-205.233 1729.45,-208.55 1729.45,-208.55 1729.45,-208.55 1728.34,-205.233 1726.47,-209.555 1727.22,-201.916 1727.22,-201.916\"/>\n",
"<text text-anchor=\"start\" x=\"1618.09\" y=\"-225.8\" font-family=\"Lato\" font-size=\"14.00\">!&quot;P.a&lt;1&quot; &amp; !&quot;P.b&gt;2&quot; &amp; dead</text>\n",
"</g>\n",
"<!-- 14&#45;&gt;14 -->\n",
"<g id=\"edge25\" class=\"edge\"><title>14&#45;&gt;14</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M1671.97,-114.916C1664.76,-125.15 1673.97,-135 1699.59,-135 1719.21,-135 1729.21,-129.226 1729.58,-121.927\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"1727.22,-114.916 1732.44,-120.544 1728.34,-118.233 1729.45,-121.55 1729.45,-121.55 1729.45,-121.55 1728.34,-118.233 1726.47,-122.555 1727.22,-114.916 1727.22,-114.916\"/>\n",
"<text text-anchor=\"start\" x=\"1619.59\" y=\"-138.8\" font-family=\"Lato\" font-size=\"14.00\">!&quot;P.a&lt;1&quot; &amp; &quot;P.b&gt;2&quot; &amp; dead</text>\n",
"</g>\n",
"</g>\n", "</g>\n",
"</svg>\n" "</svg>\n"
], ],
"text": [ "text": [
"<spot.impl.kripke; proxy of <Swig Object of type 'std::shared_ptr< spot::kripke > *' at 0x7f54f809d9c0> >" "<spot.impl.kripke; proxy of <Swig Object of type 'std::shared_ptr< spot::kripke > *' at 0x7f95344639c0> >"
] ]
} }
], ],
@ -426,7 +426,7 @@
"</svg>\n" "</svg>\n"
], ],
"text": [ "text": [
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f54f809dde0> >" "<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f9534463de0> >"
] ]
} }
], ],
@ -556,7 +556,7 @@
"</svg>\n" "</svg>\n"
], ],
"text": [ "text": [
"<spot.impl.twa_product; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_product > *' at 0x7f54f809d7e0> >" "<spot.impl.twa_product; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_product > *' at 0x7f95344637e0> >"
] ]
} }
], ],