В то же время обработка
В то же время обработка каждого фрейма одним процессором заключается в преобразовании единственного — первого предиката. Таким образом, в целом каждый фрейм подвергается конвейерной обработке — реализуется конвейерный способ И-параллелизма.
Процесс размножения вариантов не может привести к беспредельной загрузке памяти, т.к., во-первых, многие варианты отсекаются процедурой унификации; во-вторых, фреймы, в которых первые предикаты обработаны, могут быть исключены из пула: они породили все возможные новые фреймы; в-третьих, на основе некоторых фреймов, в частности, при их вырождении, выдается заключение о решении.
Таким образом, возможен динамический возврат памяти в систему.
Пусть ВС содержит 8 процессоров (0—7). Тогда процесс параллельной обработки цели в нашем примере можно представить табл. 1.1.
0 | дядя(X,Y) (ЦЕЛЬ) | 1 | X=?, Y=? | ||
1 | 0 | 0 | брат(X,P), родитель(P,Y) | 1 | |
2 | 1 | 1 | мужчина(X), родитель(Q,X), родитель(Q,P), X <> P,родитель(P,Y) | 5 | |
3 | 2 | 0 | родитель(Q,иван), родитель(Q,P), иван <> P, родитель(P,Y) | 7 | X=иван, Y=? |
4 | 2 | 2 | родитель(Q,василий), родитель(Q,P), василий <> P, родитель(P,Y) | 7 | X=василий, Y=? |
5 | 2 | 3 | родитель(Q,петр), родитель(Q,P), петр <> P, родитель(P,Y) | 7 | X=петр, Y=? |
6 | 2 | 4 | родитель(Q,федор), родитель(Q,P), федор <> P, родитель(P,Y) | 7 | X=федор, Y=? |
7 | 2 | 5 | родитель(Q,юрий), родитель(Q,P), юрий <> P, родитель(P,Y) | X=юрий, Y=? | |
8 | 3 | 6 | родитель(марья,P), иван <> P, родитель(P,Y) | 7 | X=иван, Q=марья, Y=? |
3 | 7,0,1,2 | не проходит унификация | |||
9 | 3 | 3 | родитель(петр,P), иван <> P, родитель(P,Y) | 7 | X=иван, Q=петр, Y=? |
3 | 4 | не проходит унификация | |||
4 | 5,7 | не проходит унификация | |||
10 | 4 | 0 | родитель(марья,P), василий <> P, родитель(P,Y) | 7 | X=василий, Q=марья, Y=? |
4 | 1,2,4,6 | не проходит унификация | |||
5 | 3,5,7,1,2,4,6 | не проходит унификация (у петра нет родителей) | |||
6 | 0,1,2,3,4,5,6 | не проходит унификация | |||
7 | 7,0,1,2,3,4 | не проходит унификация | |||
11 | 7 | 5 | родитель(федор,P), юрий <> P, родитель(P,Y) | 7 | X=юрий, Q=федор, Y=? |
8 | 6 | не проходит унификация | |||
8 | 7 | не проходит унификация | |||
12 | 8 | 0 | родитель(василий,Y) | 7 | X=иван, Q=марья, P=василий |
8 | 1,2,3,4 | не проходит унификация | |||
9 | 5,7,1,2 | не проходит унификация | |||
13 | 9 | 3 | родитель(ирина,Y) | 7 | X=иван, Q=петр, P=ирина |
9 | 4,6 | не проходит унификация | |||
14 | 10 | 0 | родитель(иван,Y) | 7 | X=василий, Q=марья, P=иван |
10 | 1,2,5,6,7,3 | не проходит унификация | |||
11 | 4,1,3 | не проходит унификация | |||
15 | 11 | 5 | родитель(марья,Y) | 7 | X=юрий, Q=федор, P=марья |
11 | 6,7,0 | не проходит унификация | |||
12 | 2,5,6,7,3,1,4 | не проходит унификация | |||
13 | 0,1,2,3,4,5,6 | не проходит унификация | |||
14 | 0 | не проходит унификация | |||
14 | 1 | цель исчерпана, решение: | X=василий,Y=елена | ||
14 | 2,3,4,5,6 | не проходит унификация | |||
15 | 0 | цель исчерпана, решение: | X=юрий,Y=иван | ||
15 | 1 | не проходит унификация | |||
15 | 2 | цель исчерпана, решение: | X=юрий,Y=василий | ||
15 | 3,4,5,6 | не проходит унификация |
Здесь порядок загрузки процессоров обусловлен немедленной выборкой фрейма, как только он получен. Выбрать другой процессор может раньше, чем тот процессор, который его получил, т.к. ему еще надо закончить программный цикл после записи в БЗ.
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий