Страница 1 из 1

помогите нубу с задачкой !! :((

Добавлено: 02 май 2007, 13:38
simka
Задача:
определить является ли тотальным заданный логический фрагмент.
Решить надо на visual c++ ...
Я примерно представляю что это такое, но как его записать на си и тем более определить является ли он тотальным я фиг знает :( ( . Помогите ПЛИЗ!!

Re: помогите нубу с задачкой !! :((

Добавлено: 08 май 2007, 10:34
Хыиуду
что есть логический фрагмент и как определить, является ли он тотальным?
а то искать мрякость брукости глокой куздры как-то сложно

Re: помогите нубу с задачкой !! :((

Добавлено: 09 май 2007, 11:10
simka
Хыиуду писал(а):что есть логический фрагмент и как определить, является ли он тотальным?
а то искать мрякость брукости глокой куздры как-то сложно
Логический фрагмент Ф над алфавитом логических переменных X={x1,...,xn} задается конечным множеством вершин, из каждой вершины выходят либо две дуги, помеченные символами "+" и "-" (плюс- и минус-стрелка соответственно), либо ни одной (такие вершины называются висячими). Всякая висячая вершина помечена числом из {0,1,...,9}, а всякая невисячая вершина -- символом из X. Символ, помечающий невисячую вершину, называют ее условием. Одна из вершин фрагмента выделена как начальная.

Если фиксировано некоторое распределение I : X -> {FALSE, TRUE} значений истинности логических переменных из X, то тем самым задан и путь w1 от начальной вершины фрагмента Ф, определяемый по правилу: если условие вершины истинно при I, то путь продолжается по плюс-стрелке этой вершины, в противном случае -- по минус-стрелке.

Логический фрагмент тотален, если при любом распределении I путь w1 конечен, т.е. ведет от начальной к одной из висячих вершин.

Re: помогите нубу с задачкой !! :((

Добавлено: 10 май 2007, 10:34
Хыиуду
тут, скорее всего, надо рекурсивно проходить по всему дереву и смотреть, есть ли в дереве циклы (т.е. например, вершина а одной из своих стрелок указывает на в, в - на с, а с - на а). если есть хоть один цикл - фрагмент нетотален