Основы проектирования систем искусственного интеллекта


Язык Рефал - часть 5


Рассмот­рим как эта программа обрабатывает выражение

k(A +B) * (С +D) ^.

Последовательно получим в результате работы программы (для удобства слева указываем номер правила, которое непосредственно привело к дан­ному выражению):

§2.2 k(A +В)*С^. + k(A +B)*D^,

§2.3 kA *C^ +kB*C^ + k(A+B)*D^,

§2.3 kA *C^ + kB*C^ + kA *D^ + kB*D^.

Далее ограничимся рассмотрением первого слагаемого:

§ 2.5 kA^ * kC^ + ...,

§2.7 A * kC^ + ...,

§ 2.7 А * С + ... .

После аналогичной обработки остальных слагаемых получим искомое выражение

А*С+D*С+А * D + В * D.

Если на вход поступит выражение

kA + (B + С) ^,

то получим последовательно:

§ 2.1 kA^ + k(B + С) ^,

§ 2.7 А + k (Д + С) ^,

§ 2.6 А + kB + C^,

§2.1, 2.7 A + B + С.

Обратите внимание, что если расположить правило § 2.5 перед правила­ми § 2.2 и § 2.3, то придем к абсурду! Например, выражение А *(В+С) будет приведено к виду: А *В + С.




- Начало -  - Назад -  - Вперед -