#!/usr/bin/env python
# encoding=utf-8 (pep 0263)
from linked_lists import LinkedList
from idt import IDT_Problem
example_list = LinkedList([
("pockat", LinkedList([
("alt", "ano"), ("bar", "ne"), ("paso", "ne"), ("hlad", "ano"),
("stam", "cast"), ("cen", "$$$"), ("dest", "ne"), ("rez", "ano"),
("typ", "mexicka")
])),
("necekat", LinkedList([
("alt", "ano"), ("bar", "ne"), ("paso", "ne"), ("hlad", "ano"),
("stam", "plno"), ("cen", "$"), ("dest", "ne"), ("rez", "ne"),
("typ", "asijska")
])),
("pockat", LinkedList([
("alt", "ne"), ("bar", "ano"), ("paso", "ne"), ("hlad", "ne"),
("stam", "cast"), ("cen", "$"), ("dest", "ne"), ("rez", "ne"),
("typ", "bufet")
])),
("pockat", LinkedList([
("alt", "ano"), ("bar", "ne"), ("paso", "ano"), ("hlad", "ano"),
("stam", "plno"), ("cen", "$"), ("dest", "ne"), ("rez", "ne"),
("typ", "asijska")
])),
("necekat", LinkedList([
("alt", "ano"), ("bar", "ne"), ("paso", "ano"), ("hlad", "ne"),
("stam", "plno"), ("cen", "$$$"), ("dest", "ne"), ("rez", "ano"),
("typ", "mexicka")
])),
("pockat", LinkedList([
("alt", "ne"), ("bar", "ano"), ("paso", "ne"), ("hlad", "ano"),
("stam", "cast"), ("cen", "$$"), ("dest", "ano"), ("rez", "ano"),
("typ", "pizzerie")
])),
("necekat", LinkedList([
("alt", "ne"), ("bar", "ano"), ("paso", "ne"), ("hlad", "ne"),
("stam", "nikdo"), ("cen", "$"), ("dest", "ano"), ("rez", "ne"),
("typ", "bufet")
])),
("pockat", LinkedList([
("alt", "ne"), ("bar", "ne"), ("paso", "ne"), ("hlad", "ano"),
("stam", "cast"), ("cen", "$$"), ("dest", "ano"), ("rez", "ano"),
("typ", "asijska")
])),
("necekat", LinkedList([
("alt", "ne"), ("bar", "ano"), ("paso", "ano"), ("hlad", "ne"),
("stam", "plno"), ("cen", "$"), ("dest", "ano"), ("rez", "ne"),
("typ", "bufet")
])),
("necekat", LinkedList([
("alt", "ano"), ("bar", "ano"), ("paso", "ano"), ("hlad", "ano"),
("stam", "plno"), ("cen", "$$$"), ("dest", "ne"), ("rez", "ano"),
("typ", "pizzerie")
])),
("necekat", LinkedList([
("alt", "ne"), ("bar", "ne"), ("paso", "ne"), ("hlad", "ne"),
("stam", "nikdo"), ("cen", "$"), ("dest", "ne"), ("rez", "ne"),
("typ", "asijska")
])),
("pockat", LinkedList([
("alt", "ano"), ("bar", "ano"), ("paso", "ano"), ("hlad", "ano"),
("stam", "plno"), ("cen", "$"), ("dest", "ne"), ("rez", "ne"),
("typ", "bufet")
]))])
attribute_dict = dict(
bar=LinkedList(["ano", "ne"]),
paso=LinkedList(["ano", "ne"]),
hlad=LinkedList(["ano", "ne"]),
stam=LinkedList(["nikdo", "cast", "plno"]),
cen=LinkedList(["$", "$$", "$$$"]),
dest=LinkedList(["ano", "ne"]),
rez=LinkedList(["ano", "ne"]),
typ=LinkedList(["mexicka", "asijska", "bufet", "pizzerie"]))
# demonstracni vypis
if __name__ == "__main__":
p=IDT_Problem(attribute_dict, example_list)
print(p.induce_tree())
('tree', 'stam', [('nikdo', ('leaf', 'necekat')), ('cast', ('leaf', 'pockat')), ('plno', ('tree', 'typ', [('mexicka', ('leaf', 'necekat')), ('asijska', ('tree', 'paso', [('ano', ('leaf', 'pockat')), ('ne', ('leaf', 'necekat'))])), ('bufet', ('tree', 'hlad', [('ano', ('leaf', 'pockat')), ('ne', ('leaf', 'necekat'))])), ('pizzerie', ('leaf', 'necekat'))]))])
|