Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Деревья->упрошение формул

14K
16 апреля 2006 года
nordmen
19 / / 06.04.2006
Кто-нить знает как с помошью деревьев можно упрошать формулы? говорят как-то можно, но я не встречал еще инфы по сабжу. может вы знаете?
351
16 апреля 2006 года
PitxBull
633 / / 22.12.2004
Цитата:
Originally posted by nordmen
Кто-нить знает как с помошью деревьев можно упрошать формулы? говорят как-то можно, но я не встречал еще инфы по сабжу. может вы знаете?


на кадом узле должна быть операция, на концах дерева - операнды. упрощает разбор и вычисления при помощи компов.

 
Код:
a + ( b + c )

+
| \
|  \
a   +
    |\
    | \
    b  c

ты это имеешь ввиду ?
14K
16 апреля 2006 года
nordmen
19 / / 06.04.2006
Цитата:
Originally posted by PitxBull
на кадом узле должна быть операция, на концах дерева - операнды. упрощает разбор и вычисления при помощи компов.

 
Код:
a + ( b + c )

+
| \
|  \
a   +
    |\
    | \
    b  c

ты это имеешь ввиду ?



разумеется, что надо перевести выражение в постфиксную форму :)
а дальше то как упрошается?

351
18 апреля 2006 года
PitxBull
633 / / 22.12.2004
Цитата:
Originally posted by nordmen
разумеется, что надо перевести выражение в постфиксную форму :)
а дальше то как упрошается?


что ты имеешь ввиду под упрощением ? ( x + 1 - 1) = x ? если да то эт наверно могло бы быть темой для дисертации. хотя есть у меня пару идей... вот например если результат какого нить подвыражения равен нулю то его можна убрать.

14K
18 апреля 2006 года
nordmen
19 / / 06.04.2006
Цитата:
Originally posted by PitxBull
что ты имеешь ввиду под упрощением ? ( x + 1 - 1) = x ? если да то эт наверно могло бы быть темой для дисертации. хотя есть у меня пару идей... вот например если результат какого нить подвыражения равен нулю то его можна убрать.



понятно правильно.
но главное это упрошение переменных, если делать все серьезно, то реализация может быть очень сложна...

т.е. (a+b)*(c-d)=

 
Код:
1)      *
      /   \
    +      +
   /\      /\
  a  b    c  d

2)    *
     /  \
   a+b  c+d


3) a*c+a*d+b*c+b*d
351
18 апреля 2006 года
PitxBull
633 / / 22.12.2004
Цитата:
Originally posted by nordmen
понятно правильно.
но главное это упрошение переменных, если делать все серьезно, то реализация может быть очень сложна...

т.е. (a+b)*(c-d)=
 
Код:
1)      *
      /   \
    +      +
   /\      /\
  a  b    c  d

2)    *
     /  \
   a+b  c+d


3) a*c+a*d+b*c+b*d


умножение многчленов... гмс.. я б не сказал что формула стала проще. Цель N1 : сформулировать метод численной оценки простоты формулы. Стратегия N1 : сформулировать набор эмпирических правил типа "если результат какого нить подвыражения равен нулю то его можна убрать". например b-b. Применять к формуле пока формула не станет максимально простой. Но эт так первое что пришло в голову. Вообще задача лежит в области ИИ. Интересная задача. А то тут некоторые на соседних ветках такую туфту предлагают. :D

14K
18 апреля 2006 года
nordmen
19 / / 06.04.2006
Цитата:
Originally posted by PitxBull
умножение многчленов... гмс.. я б не сказал что формула стала проще. Цель N1 : сформулировать метод численной оценки простоты формулы. Стратегия N1 : сформулировать набор эмпирических правил типа "если результат какого нить подвыражения равен нулю то его можна убрать". например b-b. Применять к формуле пока формула не станет максимально простой. Но эт так первое что пришло в голову. Вообще задача лежит в области ИИ. Интересная задача. А то тут некоторые на соседних ветках такую туфту предлагают. :D



копайте глубже. когда вы получите такую форму записи, будет возможно упрошение. я привел просто такой набор переменных, которые никак не сократятся :)

а зачем ваши попытки искать нули? 7*b-6*b=b элементарно упрошается (и реализуется в алгоритмах) без всяких нулей.
и все равно, что бы рассматривать ваши нули, нужно все равно раскрывать скобки, т.е. выполнять операции по приоритету - как вы узнаете без раскрытия скобок, что (a+b)*c-a*с-b*c=0 ????

ии тут не причем. вы методы математики ИИ называете? :) тогда мат. пакеты это вообще алгоритмический парадокс по вашему )))
если бы это нужно было мне (и +за это бы заплатили), а не тому кто меня попросил это сделать, я бы уже сделал сделал.

351
19 апреля 2006 года
PitxBull
633 / / 22.12.2004
Цитата:
Originally posted by nordmen
копайте глубже. когда вы получите такую форму записи, будет возможно упрошение.


какую форму ? в виде дерева ? такую форму получить не проблема. Но обычно она используется для других вещей. Про то что бы упрощать с помощью нее, в классических книгах по ИИ не встречал, но задача вообще интересна.

Цитата:
Originally posted by nordmen

я привел просто такой набор переменных, которые никак не сократятся :)


Цитата:
Originally posted by nordmen

а зачем ваши попытки искать нули? 7*b-6*b=b


дык... равенство неверно.

Цитата:
Originally posted by nordmen

элементарно упрошается (и реализуется в алгоритмах) без всяких нулей.
и все равно, что бы рассматривать ваши нули, нужно все равно раскрывать скобки, т.е. выполнять операции по приоритету - как вы узнаете без раскрытия скобок, что (a+b)*c-a*с-b*c=0 ????


я тебе что запрещаю раскрывать скобки ? узнай сначала что такое эвристика. Тебе надо сформировать набор правил которыми пользуются математики при упрощении. Одно из таких правил : поиск подввыражений результат которых равен 0.

Цитата:
Originally posted by nordmen

ии тут не причем. вы методы математики ИИ называете? :)


блин... еще один... просто прямо какое то нашествие математиков. Задача относится к ИИ так как воспроизводит человеческий способ решения этой задачи, и в частности способы мышления которыми пользуются математики.

Цитата:
Originally posted by nordmen

тогда мат. пакеты это вообще алгоритмический парадокс по вашему )))


гыг.. интерсно почему ? поясни. гыг.

Цитата:
Originally posted by nordmen

если бы это нужно было мне (и +за это бы заплатили), а не тому кто меня попросил это сделать, я бы уже сделал сделал.


мне вообще пофиг.

14K
19 апреля 2006 года
nordmen
19 / / 06.04.2006
подожди, 7*b-6*b не равняется b по вашему?
ладно, тогда не спорю )))
351
19 апреля 2006 года
PitxBull
633 / / 22.12.2004
Цитата:
Originally posted by nordmen
подожди, 7*b-6*b не равняется b по вашему?
ладно, тогда не спорю )))


гыг. мне че то со сна читая твой пост показалось что вместо b стоит ноль в правой части равентсва. А то текст у тя про одно а формула про другое. гыг.

14K
19 апреля 2006 года
nordmen
19 / / 06.04.2006
Цитата:
Originally posted by PitxBull
гыг. мне че то со сна читая твой пост показалось что вместо b стоит ноль в правой части равентсва. А то текст у тя про одно а формула про другое. гыг.



вы определенно заморочены на нулях )))

5
19 апреля 2006 года
hardcase
4.5K / / 09.08.2005
Цитата:
Originally posted by nordmen
вы определенно заморочены на нулях )))

Да есть немного :D :D особенно потому что в универе нужно сдавать кучу лаб :D :D :D

Выражения типа 7*b - 6*b можно частично вычислять влоб. Т.е. моделируем арифметику.

Кроме того, думаю, нужно неким образом распознавать формулы сокращённого умножения и раскрытых скобок типа (a + b)^2.

14K
19 апреля 2006 года
nordmen
19 / / 06.04.2006
а не знаете вообше где можно КУПИТЬ алгоритмы? т.е. я помнится искал алгоритмы интегрирования, упрошения (другой сложности :) ) раньше, но безрезультатно, ни у кого их нет, даже за деньги :)
5
19 апреля 2006 года
hardcase
4.5K / / 09.08.2005
Цитата:
Originally posted by nordmen
я помнится искал алгоритмы интегрирования


Значит плохо искал. Вот здесь есть алгоритмы интегрирования.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог