diff --git a/alias/classes/argument.py b/alias/classes/argument.py index 8c00c2b..18524cc 100644 --- a/alias/classes/argument.py +++ b/alias/classes/argument.py @@ -7,6 +7,14 @@ def __init__(self, name, mapping=0, clause_mapping=0): self.mapping = mapping self.clause_mapping = clause_mapping + def __str__(self): + string = 'Argument \'' + self.name + '\' : Attacking: [' + string = string + (', '.join(self.attacking)) + string = string + '], Attacked by: [' + string = string + (', '.join(self.attacked_by)) + string = string + ']' + return string + def add_attack(self, attacked): self.attacking.append(attacked) diff --git a/alias/classes/argumentationframework.py b/alias/classes/argumentationframework.py index aab3fac..2675c58 100644 --- a/alias/classes/argumentationframework.py +++ b/alias/classes/argumentationframework.py @@ -44,6 +44,15 @@ def __str__(self): my_string += '|\n' return my_string + def __contains__(self, arg): + return arg in self.arguments + + def __iter__(self): + return iter(self.arguments) + + def __getitem__(self, arg): + return self.arguments[arg] + def add_argument(self, arg): """ Method to add argument to argumentation framework @@ -80,6 +89,11 @@ def add_attack(self, attack): self.arguments[attacked].attacked_by.append(attacker) self.__solverManager.dirty = True + def get_attackers(self, argument): + assert self.__contains__(argument) + argument: Argument = self.arguments[argument] + return argument.attacked_by + def __get_graph(self): graph = nx.DiGraph() for n in self.arguments.keys(): @@ -105,7 +119,7 @@ def get_stable_extension(self): def get_some_stable_extension(self): return self.__solverManager.get_some_extension(ExtensionType.STABLE, self.arguments, self.attacks, self.matrix) - + def get_complete_extension(self): return self.__solverManager.get_extension(ExtensionType.COMPLETE, self.arguments, self.attacks, self.matrix) diff --git a/examples/demonstration-notebook.ipynb b/examples/demonstration-notebook.ipynb index 605f362..6cd83dc 100644 --- a/examples/demonstration-notebook.ipynb +++ b/examples/demonstration-notebook.ipynb @@ -1,5 +1,19 @@ { "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# import local module to track changes\n", + "import os\n", + "import sys\n", + "module_path = os.path.abspath(os.path.join('..'))\n", + "if module_path not in sys.path:\n", + " sys.path.append(module_path)" + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -17,7 +31,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "metadata": { "collapsed": false }, @@ -36,7 +50,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "metadata": { "collapsed": false }, @@ -58,7 +72,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "metadata": { "collapsed": true }, @@ -80,21 +94,13 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "metadata": { "collapsed": false }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "ArgumentationFramework 'Example' : {'a' : ['b'], 'c' : [], 'b' : ['c']}\n" - ] - } - ], + "outputs": [], "source": [ - "print example" + "print(example)" ] }, { @@ -106,217 +112,53 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": null, "metadata": { "collapsed": false }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "set(['a'])\n", - "Argument 'a' : ['b']\n" - ] - } - ], + "outputs": [], "source": [ "arga = example['a']\n", - "print example.get_attackers('b')\n", - "print arga" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "ALIAS utilises NetworkX's drawing library to provide visual representations of Argumentation Frameworks. Lets draw our AF 'example' using the `draw_framework()` function:" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "# Creating drawings requires \n", - "# matplotlib and NetworkX (NetworkX is imported by ALIAS internally)\n", - "%matplotlib inline\n", - "\n", - "import matplotlib\n", - "import numpy as np\n", - "import matplotlib.pyplot as plt\n", - "\n", - "# Call ALIAS' drawing facility on our AF\n", - "al.draw_framework(example)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Lets apply a labelling to our AF. We can use ALIAS' built-in `generate_all_in()` function to generate an \"All-In labelling\" for our framework." - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Labelling 'All-In' : {in : ['a', 'c', 'b'] out : [] undecided : [] undefined : []}\n", - "Labelling 'All-In' : {in : ['a', 'c', 'b'] out : [] undecided : [] undefined : ['d']}\n", - "Labelling 'All-In' : {in : ['a', 'c', 'b'] out : [] undecided : [] undefined : []}\n" - ] - } - ], - "source": [ - "# Call the generate_all_in() function on the example AF\n", - "allin = example.generate_all_in()\n", - "print allin\n", - "# Labellings are updated dynamically when the AF is updated\n", - "example.add_argument('d')\n", - "print allin\n", - "example.remove_argument('d')\n", - "print allin" + "print(example.get_attackers('b'))\n", + "print(arga)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "`draw_framework()` can also take a labelling as an argument to colour code the arguments in the representation:" + "ALIAS utilises NetworkX's drawing library to provide visual representations of Argumentation Frameworks. Lets draw our AF 'example' using the `draw_graph()` function:" ] }, { "cell_type": "code", - "execution_count": 8, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "data": { - "image/png": "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\nSUVORK5CYII=\n", - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "al.draw_framework(example, labelling=allin)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Lets apply some semantics to our AF. ALIAS can handle both extension-based and labelling-based semantics." - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[]\n" - ] - } - ], - "source": [ - "preflab = al.labelling_preferred(example)\n", - "print preflab" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Labelling semantic functions return a list of all labellings for the given framework that satisfy the constraints of the chosen semantics." - ] - }, - { - "cell_type": "code", - "execution_count": 10, + "execution_count": null, "metadata": { "collapsed": false }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Labelling 'All-In' : {in : ['a', 'c'] out : ['b'] undecided : [] undefined : []}\n" - ] - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAX4AAAEACAYAAAC08h1NAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xl8FeXZ//HPRdjCIltZZBFBwKW2SAibGxFkUeteAQuI\nuCGUp4/UnyLax1KtlcWNSsEolAdQSnmgaAQpmxyK7CG4AoJWUUEW2QpJWJLcvz9yxBhOQpJJMmf5\nvl+vvJw5c5+Zaxy9cueaue8x5xwiIhI7KvgdgIiIlC8lfhGRGKPELyISY5T4RURijBK/iEiMUeIX\nEYkxnhO/mfU2s21mtsPMRobY/hMz+6eZvW9mH5vZ3V6PKSIiJWdenuM3szjgU+BaYBewEbjTObc1\nT5vRQBXn3Cgz+0mwfUPnXJaXwEVEpGS89vg7Ap855750zp0CZgM352vzLXBOcPkc4ICSvoiIfyp6\n/H4T4Os8698AnfK1eQ1418x2AzWBPh6PKSIiHnjt8RelTvQ48L5zrjFwGfAXM6vp8bgiIlJCXnv8\nu4Bmedabkdvrz+ty4BkA59znZvYFcCGQmreRmWnSIBGREnDOWXHae+3xpwKtzex8M6sM9AVS8rXZ\nRu7NX8ysIblJ/9+hduaci9qf3//+977HoHPT+en8ou+nJDz1+J1zWWY2HFgMxAFTnXNbzWxIcHsy\n8Cdgmpl9QO4vmkedcwe9HFdERErOa6kH59wiYFG+z5LzLH8H3Oj1OCIiUjo0crecJCUl+R1CmYnm\ncwOdX6SL9vMrCU8DuEqTmblwiUVEJFKYGa6cb+6KiEiEUeIXEYkxSvwiIjFGiV9EJMYo8YuIxBgl\nfhGRGKPELyISY5T4RURijBK/iEiMUeIXEYkxSvwiIjFGiV9EJMYo8YuIxBglfhGRGKPELyISY5T4\nRURijBK/iEiMUeIXEYkxSvwiIjFGiV9EJMYo8YuIxBjPid/MepvZNjPbYWYjC2iTZGabzexjMwt4\nPaaIiJScOedK/mWzOOBT4FpgF7ARuNM5tzVPm9rAaqCXc+4bM/uJc+67EPtyXmIREYlFZoZzzorz\nHa89/o7AZ865L51zp4DZwM352vwKmOec+wYgVNIXEZHy4zXxNwG+zrP+TfCzvFoDdc1shZmlmtlA\nj8cUEREPKnr8flFqM5WABKA7UA1Ya2brnHM78jccPXr06eWkpCSSkpI8hiciEl0CgQCBQMDTPrzW\n+DsDo51zvYPro4Ac59zYPG1GAvHOudHB9SnAP51zc/PtSzV+EZFi8qPGnwq0NrPzzawy0BdIydfm\nLeBKM4szs2pAJ2CLx+OKiEgJeSr1OOeyzGw4sBiIA6Y657aa2ZDg9mTn3DYz+yfwIZADvOacU+IX\nkTKTmprKv/71L7478B2VK1WmUaNG3HLLLTRq1Mjv0MKCp1JPaVKpR0S8OH78OLNnz2bsi2P56tuv\nyGqdxcnKJzFnVD1WlZxPc+jRowePPPQIV111FWbFqo6ErZKUepT4RSTi7d69m2t6XcOurF2kJ6RD\nK84sZGeCfWjEb4pnwO0DmPTyJOLi4vwIt1Qp8YtIzNm3bx+XdbiM/W32k3VFFpwtBWZCtfnV+EXi\nL5j9+uyI7/n7cXNXRMQ3zjl63tCT7y74jqwri5D0AeIh45cZLFizgLHPjT17+yikHr+IRKxAIMCN\n/W/k2P3Hipb089oPtf5ei3279lG5cuUyia88qMcvIjFl/EvjSb8svfhJH6A+ZNfLZv78+aUeV7hT\nj19EItLevXtp3qo5J4afgKohGqwC0oB0oBbQDbg4X5tPIOHrBDat3VTG0ZYd9fhFJGZs3bqVqo2r\nhk76AHWBe4DHga7AP4Cj+dqcD9u2bCu7IMOUEr+IRKQjR47gqhRSJfgpUDO4fClQj9zJ4/OqCsfT\nj5dJfOHM6yRtIiK+qF69OpZVSIXjfWAdcDi4fhLIzNfmJFSqUqlM4gtnSvwiEpGaN2/OyT0nIZvc\nCWPyOgy8DQwCmpF78/cVzpxPeD80ahp70zio1CMiEal169a0atkKtofYeJLcZF+N3GS/Gdh3ZrNq\nH1Rj+APDyzLMsKTELyIRa+SIkdT4oMaZGxoAXYCpwHPkJv3z8rVJh5xPc7hn8D1lHWbY0eOcIhKx\njh49SoPGDTh+43G4sBhfdFB1YVV+eekvmTltZpnFVx70OKeIxIzPP/+cbt260TGhI/EL4+GLIn7R\nQaUVlWh+ojmTX55cpjGGKyV+EYk4c+bMoUuXLgwcOJBAIMA7b71DjZQaVFhVIXfAVkH2QNX5Vbnw\n6IWsWr6KGjVClIligEo9IhIxMjMzGTFiBMuWLWP27NkkJiae3rZ9+3b+56n/IeWtFOxCI7NVJsST\n+/qnw1BzS00q/qci/zXsvxj5yEiqVavm23mUJk3LLCJRa9u2bfTp04dLLrmEV199lXPOOSdkuwMH\nDjD1r1NZsGQBhw4dolLlSjRu1Jh7B97LjTfeSMWK0fUUuxK/iESlGTNm8PDDD/OnP/2J++67L+Ln\n0C9NJUn80fWrT0SiyrFjxxg+fDjr16/n3Xff5Wc/+5nfIUUF3dwVkbD04Ycf0qFDB8yM1NRUJf1S\npMQvImHFOUdycjLdu3fn8ccfZ9q0aVSvXt3vsKKKSj0iEjaOHDnCAw88wLZt23jvvfe48MLijMqS\nolKPX0TCQmpqKgkJCdSrV49169Yp6Zchz4nfzHqb2TYz22FmIwtp18HMsszsNq/HFJHo4ZxjwoQJ\nXH/99YwZM4ZJkyYRHx/vd1hRzVOpx8zigInAteS+4mCjmaU457aGaDcW+CclezumiEShgwcPMnjw\nYHbv3s26deto2bKl3yHFBK89/o7AZ865L51zp4DZwM0h2v0XMBfY7/F4IhIl1qxZQ7t27WjVqhWr\nV69W0i9HXm/uNgG+zrP+DdApbwMza0LuL4NuQAfOfBWCiMSQnJwcxo0bx4svvsiUKVO48cYb/Q4p\n5nhN/EVJ4i8BjznnnOUOtyuw1DN69OjTy0lJSSQlJXkMT0TCyb59+xg4cCDp6emkpqbSrFkzv0OK\nOIFAgEAg4GkfnqZsMLPOwGjnXO/g+iggxzk3Nk+bf/NDsv8JkAHc75xLybcvTdkgEsVWrFjBgAED\nuPvuu/nDH/4QdXPm+KXc5+oxs4rAp0B3YDewAbgz/83dPO2nAW875/4RYpsSv0gUys7O5qmnnuK1\n117jf//3f+nZs6ffIUWVcp+rxzmXZWbDgcXkvu54qnNuq5kNCW5P9rJ/EYlsu3bton///sTFxZGW\nlkajRrH3YvNwpNk5RaRMLFq0iMGDBzN8+HBGjRpFXFyc3yFFJc3OKSK+O3XqFL/73e+YNWsWc+bM\n4eqrr/Y7JMlHiV9ESs3OnTvp168fderUIS0tjfr16/sdkoSguXpEpFS8+eabdOzYkdtvv50FCxYo\n6Ycx9fhFxJMTJ07wyCOP8Pbbb5OSkkKnTp3O/iXxlRK/iJTYZ599Rt++fTn//PNJS0ujTp06fock\nRaBSj4iUyOzZs+nSpQv33HMPc+fOVdKPIOrxi0ixZGRk8NBDD7FixQqWLFlCu3bt/A5Jikk9fhEp\nsi1bttCxY0fS09NJS0tT0o9QSvwiclbOOaZNm0bXrl357W9/y+uvv07NmjX9DktKSKUeESnU0aNH\nGTZsGGlpaQQCAX7605/6HZJ4pB6/iBTo/fffJzExkSpVqrBx40Yl/SihxC8iZ3DOMWnSJHr06MGT\nTz7JlClTqFatmt9hSSlRqUdEfuTw4cPcd999fP7556xevZo2bdr4HZKUMvX4ReS0DRs2kJCQwLnn\nnsvatWuV9KOUevwignOOF198kTFjxvDKK69w2223+R2SlCElfpEYd+DAAe6++2727dvH+vXradGi\nhd8hSRlTqUckhq1atYp27dpx0UUXsWrVKiX9GKEev0gMys7OZsyYMbz88stMnTqVG264we+QpBwp\n8YvEmD179jBw4EBOnDhBamoqTZs29TskKWcq9YjEkGXLlpGQkECXLl149913lfRjlHr8IjEgKyuL\nP/zhD/z1r39l5syZdO/e3e+QxEdK/CJR7ptvvuFXv/oVVapUIS0tjYYNG/odkvhMpR6RKLZw4UIS\nExPp3bs3ixcvVtIXoBR6/GbWG3gJiAOmOOfG5tveH3gUMOAoMNQ596HX44pIwU6ePMnjjz/OnDlz\nmDt3LldeeaXfIUkY8ZT4zSwOmAhcC+wCNppZinNua55m/wauds4dCf6SeBXo7OW4IlKwL774gn79\n+tGgQQM2b95MvXr1/A5JwozXUk9H4DPn3JfOuVPAbODmvA2cc2udc0eCq+sBPUYgUkbmzZtHp06d\n6NevHykpKUr6EpLXUk8T4Os8698AnQppfy/wjsdjikg+x48f5+GHH2bRokUsWLCAjh07+h2ShDGv\nid8VtaGZXQPcA1xRUJvRo0efXk5KSiIpKclDaCKxYfv27fTp04fWrVuTlpZG7dq1/Q5JylAgECAQ\nCHjahzlX5Nx95pfNOgOjnXO9g+ujgJwQN3h/DvwD6O2c+6yAfTkvsYjEojfeeIOHHnqIp59+miFD\nhmBmfock5czMcM4V68J77fGnAq3N7HxgN9AXuDNfUOeRm/QHFJT0RaR40tPT+c1vfsN7773HsmXL\naNu2rd8hSQTxdHPXOZcFDAcWA1uAvzvntprZEDMbEmz2JFAHmGxmm81sg6eIRWLcxx9/TMeOHTl5\n8iSbNm1S0pdi81TqKU0q9YgUzjnH1KlTeeyxx3juuecYNGiQSjviS6lHRMrBf/7zHx588EE++ugj\n/vWvf3HJJZf4HZJEME3ZIBLm0tLSaN++PTVr1mTDhg1K+uKZEr9ImHLOMXHiRHr16sXTTz9NcnIy\n8fHxfoclUUClHpEwdOjQIe6991527tzJ2rVradWqld8hSRRRj18kzKxbt4527drRrFkz1qxZo6Qv\npU49fpEwkZOTw/PPP89zzz1HcnIyt9xyi98hSZRS4hcJA/v372fQoEEcPnyYDRs20Lx5c79Dkiim\nUo+Iz1auXElCQgI///nPWblypZK+lDn1+EV8kp2dzTPPPMPkyZOZNm0avXv39jskiRFK/CI++Pbb\nb+nfvz85OTls2rSJxo0b+x2SxBCVekTK2ZIlS0hISODqq69m+fLlSvpS7tTjFyknWVlZPPnkk8yY\nMYNZs2ZxzTXX+B2SxCj1+EXKiHPu9AszvvrqK7p27UpaWhppaWlK+uIrJX6RMnDo0CFuv/12rrnm\nGkaOHEmHDh246aabeOedd2jQoIHf4UmM07TMIqVs3bp19OvXj507dwK50+b+/e9/54477vA5MolG\nJZmWWT1+kVKSk5PD+PHjueqqq04nfcgt+bz66qs+RibyY7q5K1IKvh95u2jRojO2JSYmkpyc7ENU\nIqGpxy/i0cqVK7nssstCJv0RI0awevVqWrZs6UNkIqEp8YuUUHZ2Nk899RTdunVj9+7dP9pWp04d\n3nrrLV544QUqV67sU4QioanUI1IC34+8XbFixRnbLr/8cv72t79x3nnn+RCZyNmpxy9STEuWLKFt\n27Yhk/6oUaMIBAJK+hLW1OMXKaLvR94+++yzZ2xr0KABM2fOpGfPnj5EJlI8SvwiRfDVV19x5513\nsmbNmjO2devWjddff51zzz3Xh8hEis9zqcfMepvZNjPbYWYjC2jz5+D2D8ysnddjipSnlJQULrvs\nsjOSfoUKFXjqqadYsmSJkr5EFE89fjOLAyYC1wK7gI1mluKc25qnzfVAK+dcazPrBEwGOns5rkh5\nOHnyJCNHjuSll146Y1vjxo2ZNWsWXbt29SEyEW+8lno6Ap85574EMLPZwM3A1jxtbgKmAzjn1ptZ\nbTNr6Jzb6/HYImXm888/p1+/fqSmpp6x7brrrmP69OnUr1/fh8hEvPNa6mkCfJ1n/ZvgZ2dr09Tj\ncUXKzJw5c0hISDgj6VesWJHx48ezYMECJX2JaF57/EWdVS3/BEIhvzd69OjTy0lJSSQlJZUoKJGS\nyMzMZMSIESGnV2jevDmzZ8+mc2dVKcVfgUDg9HTfJeVpdk4z6wyMds71Dq6PAnKcc2PztHkFCDjn\nZgfXtwFd85d6NDunlLadO3fy1ltvsX/vXrKzsqhbvz7du3enXbszny/Ytm0bffr04aOPPjpj2623\n3srUqVOpU6dOeYQtUiwlmZ3Ta48/FWhtZucDu4G+wJ352qQAw4HZwV8Uh1Xfl7LinGPx4sVMGjeO\n1WvXcitw3vHjVAW+rlSJmytVokmLFgwbOZI+ffpQpUoVZsyYwdChQ8nIyPjRvipXrszzzz/Pr3/9\na8yK9f+VSFjzPB+/mV0HvATEAVOdc8+a2RAA51xysM1EoDeQDgx2zqWF2I96/OLJyZMnua9/f1IX\nLeK36encCVTP1yYLWAi8WL06x1u0oPkllzBnzpwz9tWqVSvmzJkT8q8DkXBSkh6/XsQiUSE7O5vb\nr7sO3nuPWZmZVDtL+xzgUXKfLc7It+3OO+8kOTmZmjVrlkmsIqVJL2KRmPXkyJEcW72aOXmS/vnA\n8gLaVwCeA+7ih78K4uPjmTJlCm+88YaSvkQ19fgl4h09epTzGjbko8zMHz0n3AKYCnQr5LtZQCPg\nnBYtSElJ4dJLLy3LUEVKnR83d0V89/rMmXSrUKFEg0MqAr8x48tOnZT0JWaoxy8Rr23LlrzwxRd0\nz/d5C2AIMBP4FriF3Jp+lXzt9gAXV63Kzr17Oeecc8o8XpHSpBq/xJycnBw+2bmTq0Nsc8AsYAnw\nObAd+GOIdo2AZpUr8+9//7vsAhUJI0r8EtEyMjKoXKEClUJsM3IHkDQB6gBPAH8rYD+1zDhy5EgZ\nRSkSXpT4JaLFx8dzIjubnAK2N8uzfB65owxDSXeO6tXzP/UvEp2U+CWixcXF0aRuXT4pYPtX+ZYb\nh2iTAXx54gTNmjULsVUk+ijxS8Qb/MADJFfJf8s2t8b/F3JfFHEQeAboF+L7s4ErL7+chg0blmWY\nImFDiV8i3v3DhjHLjKP5PjegP9ATuABoDfwuXxsH/KVGDYY9+mjZByoSJvQ4p0SF3ldfTYtVq5hc\nzO9NN+PZpk3Z8uWXVKigfpBEHj3OKTHHOUdycjKpW7aw6Cc/4Y8VKxb5JRFvAo/WqMH8xYuV9CWm\naOSuRKz09HSGDh3K5s2bWbNmDTVq1OD6rl3Z+vXXPH7iBD8t4Hu7gYlxcUyvWZOFS5dy8cUXl2fY\nIr5TN0ci0qeffnr6bVjr1q2jTZs2NG7cmFVpabR6+GF61K5NUs2aTAOWAu8CfwfuqF6dS+PjOXzX\nXaz94AMSExN9PAsRf6jGLxFn7ty5DB06lGeeeYb7778/5EtSTp06xZtvvsm86dP5bs8esrKzqVO3\nLj1uu40BAwdqagaJGpqPX6LaqVOnGDlyJPPnz2fu3Lm0b9/e75BEfKfZOSVq7dq1iz59+lCnTh02\nbdpE3bp1/Q5JJGKpxi9hb/ny5SQmJnLDDTeQkpKipC/ikXr8ErZycnJ49tlnmThxIq+//jrdu+ef\neFlESkKJX8LSwYMHueuuuzh06BCpqak0adLE75BEooZKPRJ2UlNTad++PW3atCEQCCjpi5QyJX4J\nG9+Pwr3uuusYP348L7zwApUqhZppX0S8UKlHwkJGRgYPPvggaWlpvPfee1x44YV+hyQStTz1+M2s\nrpktNbPtZrbEzGqHaNPMzFaY2Sdm9rGZ/cbLMSX6bN++nU6dOgGwfv16JX2RMua11PMYsNQ51wZY\nHlzP7xQwwjn3U6Az8Gsz0+QoAsC8efO44oorGD58ONOnT9dbsETKgaeRu2a2DejqnNtrZo2AgHPu\norN8503gZefc8nyfa+RuDMk7Cvf//u//NGeOSAn5MXK3oXNub3B5L1DoK4zM7HygHbDe43Elgu3a\ntYu+fftSq1YtjcIV8cFZE7+ZLQUahdj0RN4V55wzswK77GZWA5gL/Ldz7lioNqNHjz69nJSURFJS\n0tnCkwjz7rvv0r9/f4YPH86oUaM0D75IMQUCAQKBgKd9lEapJ8k5t8fMzgVWhCr1mFklYAGwyDn3\nUgH7UqkniuXk5DBmzBhefvllZs6cybXXXut3SCJRwY9STwowCBgb/OebIYIyYCqwpaCkL9Ht0KFD\n3HXXXRw8eJCNGzfStGlTv0MSiWle/84eA/Qws+1At+A6ZtbYzBYG21wBDACuMbPNwZ/eHo8rEWLT\npk20b9+eVq1aEQgElPRFwoDm45cy4Zzjtdde44knnmDSpEnccccdfockEpU0H7+EhYyMDIYOHcqm\nTZs0ClckDOmRCilVO3bsoHPnzuTk5GgUrkiYUuKXUvOPf/yDK664gmHDhjFjxgyNwhUJUyr1iGen\nTp3iscceY968eSxcuJAOHTr4HZKIFEKJXzzZvXs3ffv2pWbNmmzatIl69er5HZKInIVKPVJiK1as\nIDExkV69erFgwQIlfZEIoR6/FFtOTg5jx47lz3/+s0bhikQgJX4plu9H4R44cECjcEUilEo9UmRp\naWm0b9+eCy64QKNwRSKYEr+c1fejcHv16sWYMWN46aWXqFy5st9hiUgJqdQjhcrIyGDYsGGkpqay\natUqLrqo0PfsiEgEUI9fCrRjxw66dOlCVlYW69evV9IXiRJK/BLS96NwH3zwQWbOnKlRuCJRRKUe\n+ZFTp04xatQo5s6dq1G4IlFKiV9O2717N/369aN69eoahSsSxVTqESD3PZ6JiYn06NGDhQsXKumL\nRDH1+GNcTk4O48aNY8KECcyYMYMePXr4HZKIlDEl/hh26NAhBg0axP79+9mwYQPNmjXzOyQRKQcq\n9cSQvK+23Lx5M4mJibRo0YKVK1cq6YvEEPX4Y8T+/fvp378/w4YN47vvvmPUqFFMnDiRvn37+h2a\niJQzvWw9BqxZs4Y+ffqwa9cuKlWqRPPmzXn77bc1IEskCpTkZesq9UQx5xwTJkyga9eu7Nq1C8h9\nTj8+Pp7mzZv7HJ2I+EWlnih19OhR7rvvPubMmXPGtjp16nDs2DHi4+N9iExE/FbiHr+Z1TWzpWa2\n3cyWmFntQtrGmdlmM3u7pMeTovvkk0/o0KFDyKT/yCOPsHz5curXr+9DZCISDryUeh4Dljrn2gDL\ng+sF+W9gC6Aifhl744036NixI59++umPPq9Vqxbz589n3LhxVKyoP/REYpmXxH8TMD24PB24JVQj\nM2sKXA9MAYp1A0KK7sSJEwwbNowBAwaQkZHxo21t27Zl06ZN3HJLyEskIjHGS+Jv6JzbG1zeCzQs\noN2LwCNAjodjSSF27tzJVVddxeTJk8/YNnjwYNauXcsFF1zgQ2QiEo4K/ZvfzJYCjUJseiLvinPO\nmdkZZRwz+wWwzzm32cySzhbM6NGjTy8nJSWRlHTWr0Qd5xwrV65k/EvjWbt2LelH06lYqSL16tfj\n3rvuZcgDQ2jU6IdLsmjRIgYMGMDBgwd/tJ8qVarwl7/8hXvvvbe8T0FEylAgECAQCHjaR4mf4zez\nbUCSc26PmZ0LrHDOXZSvzZ+AgUAWUBU4B5jnnLsrxP5i/jn+efPmMWLkCA4dP0R623RcawfxQDZw\nCKp+WBW3xdGrVy8m/3kyr7zyCn/84x/J/++tZcuWzJ07l3bt2vlyHiJSfkryHL+XxD8OOOCcG2tm\njwG1nXMF3uA1s67A/3PO3VjA9phO/GPGjeGpcU+ReUMmtKDguyGZUHFNRSqkVeBk+skzNt90001M\nnz6d2rULfMhKRKJIeQ/gGgP0MLPtQLfgOmbW2MwWFvCd2M3shUhOTubpF54mc1AmtKTwW+DxkNU9\ni5NdT0KlHz6uUKECY8aMYf78+Ur6IlIoTdngs2+//ZaWF7bk+N3HobhT4P8TSIWG9Roye/bsmLwn\nIhLrStLj1wPdPnvl1VfgEoqf9AGuBkszli1bxqWXXlraoYlIlFLi91FWVhYvT3qZ47cdD93gCLAI\n+IrcItnPyB0R8b1qULVtVd5e8LYSv4gUmSZp89Hq1avJrp4d+oHZHGAWUAcYATwMhMjtmZdmMmXG\nlLIMU0SijHr8Ptq7dy+uVgH3NXYBR4Ee/PDr+bwQ7WrDgf0HyiQ+EYlO6vH76NSpU7i4AhL/EaA2\nZ79CcZB1KquUIxORaKbE76PatWsTdzwu9MZa5Cb/s010kQk1atUo5chEJJop8fuoQ4cOnNh5AjJD\nbGwC1ACWASeBU+Te5M2nwvYKdL2qa1mGKSJRRonfRw0aNKD3db2x90M8glsB+BVwkNxp7l4EPsnX\nJgeqvl+VRx56pKxDFZEoogFcPlu9ejW9ftmL9PvToYCqT4G2wUVbLmLrB1vLJDYRCX96524Euvzy\ny+nUthNV/1m1eBNaHIT4xfFMGD+hzGITkeikxO8zM+OtuW9xQdYFVH2nau5MnGezB+LfiOf5Pz1P\nz549yzxGEYkuKvWEiWPHjnFr31tZm7qWzMsyyWmbA9XzNHDA11Dt/Wq4HY5pr02jb9++foUrImGi\nXKdlLm2xnvi/t3HjRp6b8Bwpb6VQpWkVXFWHZRvZB7OpWbEmD//mYQbfPZi6dev6HaqIhAEl/ihy\n4MABNm/ezOHDh6lSpQqNGjWiffv2VKig6pyI/ECJX0QkxuipHhEROSslfhGRGKPELyISY5T4RURi\njBK/iEiMUeIXEYkxSvwiIjGmxInfzOqa2VIz225mS8ysdgHtapvZXDPbamZbzKxzycMVERGvvPT4\nHwOWOufaAMuD66FMAN5xzl0M/ByIyTmEA4GA3yGUmWg+N9D5RbpoP7+S8JL4bwKmB5enA7fkb2Bm\ntYCrnHN/BXDOZTnnjng4ZsSK5v/4ovncQOcX6aL9/ErCS+Jv6JzbG1zeCzQM0aYFsN/MpplZmpm9\nZmbVPBxTREQ8KjTxB2v4H4X4uSlvu+AkO6Em2qkIJACTnHMJQDoFl4RERKQclHiSNjPbBiQ55/aY\n2bnACufcRfnaNALWOudaBNevBB5zzv0ixP40Q5uISAkUd5K2ih6OlQIMAsYG//lmiGD2mNnXZtbG\nObcduJbPfPydAAADaElEQVQzXxn+fdtiBS4iIiXjpcdfF5gDnAd8CfRxzh02s8bAa865G4Lt2gJT\ngMrA58DgWL3BKyISDsJmPn4RESkfvo3cNbM7zOwTM8s2s4RC2n1pZh+a2WYz21CeMZZUMc6tt5lt\nM7MdZjayPGP0ohiD9yLq2hXlepjZn4PbPzCzduUdoxdnOz8zSzKzI8HrtdnMfudHnCVhZn81s71m\n9lEhbSL52hV6fsW+ds45X36Ai4A2wAogoZB2XwB1/YqzrM4NiAM+A84HKgHvAxf7HXsRz28c8Ghw\neSQwJtKvXVGuB3A9uYMRAToB6/yOu5TPLwlI8TvWEp7fVUA74KMCtkfstSvi+RXr2vnW43fObXO5\nN3yLIqJu/Bbx3DoCnznnvnTOnQJmAzeXfXSl4qyD9/KIlGtXlOtx+rydc+uB2mYWavxKOCrqf2+R\ncr1+xDm3CjhUSJNIvnZFOT8oxrWLhEnaHLDMzFLN7H6/gylFTYCv86x/E/wsEhRl8B5E1rUryvUI\n1aZpGcdVWopyfg64PFgKecfMLim36MpeJF+7oijWtfPyOOdZmdlSoFGITY87594u4m6ucM59a2b1\ngaVmti34289XpXBuYX1XvZDzeyLvinPOFTIGIyyvXQGKej3y96rC+jrmUZQ404BmzrkMM7uO3Ee0\n25RtWOUqUq9dURTr2pVp4nfO9SiFfXwb/Od+M5tP7p+sviePUji3XUCzPOvNyO2FhIXCzi94k6mR\n+2Hw3r4C9hGW164ARbke+ds0DX4WCc56fs65o3mWF5nZJDOr65w7WE4xlqVIvnZnVdxrFy6lnpC1\nKTOrZmY1g8vVgZ5AgXftw1RBdbdUoLWZnW9mlYG+5A6KiwTfD96DAgbvReC1K8r1SAHuAghOL344\nT8kr3J31/MysoZlZcLkjuY97R0PSh8i+dmdV7Gvn413qW8mtuWUCe4BFwc8bAwuDyy3JffrgfeBj\nYJTfd9dL69yC69cBn5L7tEVEnFsw7rrAMmA7sASoHQ3XLtT1AIYAQ/K0mRjc/gGFPI0Wjj9nOz/g\n18Fr9T6wBujsd8zFOLe/AbuBk8H/9+6JsmtX6PkV99ppAJeISIwJl1KPiIiUEyV+EZEYo8QvIhJj\nlPhFRGKMEr+ISIxR4hcRiTFK/CIiMUaJX0Qkxvx/nnzA4co8EH8AAAAASUVORK5CYII=\n", - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ - "print preflab[0]\n", - "al.draw_framework(example, labelling=preflab[0])" + "example.draw_graph()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "Lets try some extension based semantics. These functions take the power set of all arguments in the framework and applys filtering to find the chosen semantics. (Labellings can also be converted to extension using the function `labelling.lab2ext()`)" + "Lets try some extension based semantics. These functions generate SAT encoding for specified extension and produce the output using SAT solver." ] }, { "cell_type": "code", - "execution_count": 11, + "execution_count": null, "metadata": { "collapsed": false }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[frozenset(['a', 'c'])]\n" - ] - } - ], + "outputs": [], "source": [ - "stabext = example.extension_stable()\n", - "print stabext" + "print('Stable: ', example.get_stable_extension())\n", + "print('Complete: ', example.get_complete_extension())\n", + "print('Preferred: ', example.get_preferred_extension())" ] }, { @@ -328,215 +170,25 @@ }, { "cell_type": "code", - "execution_count": 8, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "ArgumentationFramework 'example-apx.apx' : {'a' : ['b'], 'c' : ['b'], 'b' : [], 'd' : ['c']}\n" - ] - } - ], - "source": [ - "exampleapx = al.read_apx('example-apx.apx')\n", - "print exampleapx" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "data": { - "image/png": "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\nRU5ErkJggg==\n", - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "al.draw_framework(exampleapx)" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": { - "collapsed": false - }, - "outputs": [], - "source": [ - "grounded = al.labelling_grounded(exampleapx)" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "data": { - "image/png": "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\nDVCkTaYnAAAAAElFTkSuQmCC\n", - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "al.draw_framework(exampleapx, labelling=grounded)" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": { - "collapsed": false - }, - "outputs": [], - "source": [ - "pref = al.labelling_preferred(exampleapx)" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[]\n" - ] - } - ], - "source": [ - "print pref" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Labelling 'All-In' : {in : ['a', 'd'] out : ['c', 'b'] undecided : [] undefined : []}\n" - ] - } - ], - "source": [ - "print pref[0]" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "data": { - "image/png": "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\nYII=\n", - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "al.draw_framework(exampleapx, labelling=pref[0])" - ] - }, - { - "cell_type": "code", - "execution_count": 9, + "execution_count": null, "metadata": { "collapsed": false }, "outputs": [], "source": [ - "al.to_neo4j(af=exampleapx, u='neo4j', p='test')" + "exampleapx = al.read_apx('example-apx.apx')\n", + "print(exampleapx)" ] }, { "cell_type": "code", - "execution_count": 11, + "execution_count": null, "metadata": { "collapsed": false }, "outputs": [], "source": [ - "f = al.from_neo4j(framework='exampleapx', u='neo4j', p='test')" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "ArgumentationFramework 'exampleapx' : {}\n" - ] - } - ], - "source": [ - "print f" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "ename": "UnmappedInstanceError", - "evalue": "Class 'alias.classes.framework.ArgumentationFramework' is mapped, but this instance lacks instrumentation. This occurs when the instanceis created before sqlalchemy.orm.mapper(alias.classes.framework.ArgumentationFramework) was called.", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mUnmappedInstanceError\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0mdb\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mal\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mDbwrapper\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0mdb\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mto_sqlite\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mexampleapx\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", - "\u001b[0;32m/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/ALIAS-0.1-py2.7.egg/alias/inout/db/dbwrapper.pyc\u001b[0m in \u001b[0;36mto_sqlite\u001b[0;34m(self, af)\u001b[0m\n\u001b[1;32m 55\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmetadata\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbind\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mengine\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 56\u001b[0m \u001b[0msession\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mDBSession\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 57\u001b[0;31m \u001b[0msession\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0madd\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0maf\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 58\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0marg\u001b[0m \u001b[0;32min\u001b[0m \u001b[0maf\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 59\u001b[0m \u001b[0msession\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0madd\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0maf\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0marg\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/usr/local/lib/python2.7/site-packages/sqlalchemy/orm/session.pyc\u001b[0m in \u001b[0;36madd\u001b[0;34m(self, instance, _warn)\u001b[0m\n\u001b[1;32m 1573\u001b[0m \u001b[0mstate\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mattributes\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0minstance_state\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0minstance\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1574\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mexc\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mNO_STATE\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1575\u001b[0;31m \u001b[0;32mraise\u001b[0m \u001b[0mexc\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mUnmappedInstanceError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0minstance\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1576\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1577\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_save_or_update_state\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mstate\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;31mUnmappedInstanceError\u001b[0m: Class 'alias.classes.framework.ArgumentationFramework' is mapped, but this instance lacks instrumentation. This occurs when the instanceis created before sqlalchemy.orm.mapper(alias.classes.framework.ArgumentationFramework) was called." - ] - } - ], - "source": [ - "db = al.Dbwrapper()\n", - "db.to_sqlite(exampleapx)" + "exampleapx.draw_graph()" ] }, { @@ -546,26 +198,33 @@ "collapsed": true }, "outputs": [], - "source": [] + "source": [ + "print('Stable: ', exampleapx.get_stable_extension())\n", + "print('Complete: ', exampleapx.get_complete_extension())\n", + "print('Preferred: ', exampleapx.get_preferred_extension())" + ] } ], "metadata": { + "interpreter": { + "hash": "916dbcbb3f70747c44a77c7bcd40155683ae19c65e1c03b4aa3499c5328201f1" + }, "kernelspec": { "display_name": "Python 2", "language": "python", - "name": "python2" + "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", - "version": 2 + "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", - "pygments_lexer": "ipython2", - "version": "2.7.9" + "pygments_lexer": "ipython3", + "version": "3.8.10" } }, "nbformat": 4,