Алгоритм Кока-Янгера-Касами разбора грамматики в НФХ — различия между версиями
Kabanov (обсуждение | вклад) (→Пример работы) |
Kabanov (обсуждение | вклад) (→Пример работы) |
||
| Строка 86: | Строка 86: | ||
| + | Инициализация массива <tex>d</tex>. | ||
| − | |||
{| border="1" style="width: 150px; height: 150px; float: left;" | {| border="1" style="width: 150px; height: 150px; float: left;" | ||
| − | ! colspan="7"|A | + | ! colspan="7" style="background:#ffdead;"|A |
|- | |- | ||
| − | ! | + | ! style="background:#efefef;"| |
| − | ! 1 | + | ! style="background:#efefef;"|1 |
| − | ! 2 | + | ! style="background:#efefef;"|2 |
| − | ! 3 | + | ! style="background:#efefef;"|3 |
| − | ! 4 | + | ! style="background:#efefef;"|4 |
| − | ! 5 | + | ! style="background:#efefef;"|5 |
| − | ! 6 | + | ! style="background:#efefef;"|6 |
|- | |- | ||
| − | ! 1 | + | ! style="background:#efefef;"|1 |
| | | | ||
| | | | ||
| Строка 108: | Строка 108: | ||
| | | | ||
|- | |- | ||
| − | ! 2 | + | ! style="background:#efefef;"|2 |
| | | | ||
| | | | ||
| Строка 116: | Строка 116: | ||
| | | | ||
|- | |- | ||
| − | ! 3 | + | ! style="background:#efefef;"|3 |
| | | | ||
| | | | ||
| Строка 124: | Строка 124: | ||
| | | | ||
|- | |- | ||
| − | ! 4 | + | ! style="background:#efefef;"|4 |
| | | | ||
| | | | ||
| Строка 132: | Строка 132: | ||
| | | | ||
|- | |- | ||
| − | ! 5 | + | ! style="background:#efefef;"|5 |
| | | | ||
| | | | ||
| Строка 140: | Строка 140: | ||
| | | | ||
|- | |- | ||
| − | ! 6 | + | ! style="background:#efefef;"|6 |
| | | | ||
| | | | ||
| Строка 149: | Строка 149: | ||
|} | |} | ||
{| border="1" style="width: 150px; height: 150px; float: left;" | {| border="1" style="width: 150px; height: 150px; float: left;" | ||
| − | ! colspan="7"|B | + | ! colspan="7" style="background:#ffdead;"|B |
|- | |- | ||
| − | ! | + | ! style="background:#efefef;"| |
| − | ! 1 | + | ! style="background:#efefef;"|1 |
| − | ! 2 | + | ! style="background:#efefef;"|2 |
| − | ! 3 | + | ! style="background:#efefef;"|3 |
| − | ! 4 | + | ! style="background:#efefef;"|4 |
| − | ! 5 | + | ! style="background:#efefef;"|5 |
| − | ! 6 | + | ! style="background:#efefef;"|6 |
|- | |- | ||
| − | ! 1 | + | ! style="background:#efefef;"|1 |
| | | | ||
| | | | ||
| Строка 167: | Строка 167: | ||
| | | | ||
|- | |- | ||
| − | ! 2 | + | ! style="background:#efefef;"|2 |
| | | | ||
| | | | ||
| Строка 175: | Строка 175: | ||
| | | | ||
|- | |- | ||
| − | ! 3 | + | ! style="background:#efefef;"|3 |
| | | | ||
| | | | ||
| Строка 183: | Строка 183: | ||
| | | | ||
|- | |- | ||
| − | ! 4 | + | ! style="background:#efefef;"|4 |
| | | | ||
| | | | ||
| Строка 191: | Строка 191: | ||
| | | | ||
|- | |- | ||
| − | ! 5 | + | ! style="background:#efefef;"|5 |
| | | | ||
| | | | ||
| Строка 199: | Строка 199: | ||
| | | | ||
|- | |- | ||
| − | ! 6 | + | ! style="background:#efefef;"|6 |
| | | | ||
| | | | ||
| Строка 208: | Строка 208: | ||
|} | |} | ||
{| border="1" style="width: 150px; height: 150px; float: left;" | {| border="1" style="width: 150px; height: 150px; float: left;" | ||
| − | ! colspan="7"|C | + | ! colspan="7" style="background:#ffdead;"|C |
|- | |- | ||
| − | ! | + | ! style="background:#efefef;"| |
| − | ! 1 | + | ! style="background:#efefef;"|1 |
| − | ! 2 | + | ! style="background:#efefef;"|2 |
| − | ! 3 | + | ! style="background:#efefef;"|3 |
| − | ! 4 | + | ! style="background:#efefef;"|4 |
| − | ! 5 | + | ! style="background:#efefef;"|5 |
| − | ! 6 | + | ! style="background:#efefef;"|6 |
|- | |- | ||
| − | ! 1 | + | ! style="background:#efefef;"|1 |
| align="center"| ● | | align="center"| ● | ||
| | | | ||
| Строка 226: | Строка 226: | ||
| | | | ||
|- | |- | ||
| − | ! 2 | + | ! style="background:#efefef;"|2 |
| | | | ||
| | | | ||
| Строка 234: | Строка 234: | ||
| | | | ||
|- | |- | ||
| − | ! 3 | + | ! style="background:#efefef;"|3 |
| | | | ||
| | | | ||
| Строка 242: | Строка 242: | ||
| | | | ||
|- | |- | ||
| − | ! 4 | + | ! style="background:#efefef;"|4 |
| | | | ||
| | | | ||
| Строка 250: | Строка 250: | ||
| | | | ||
|- | |- | ||
| − | ! 5 | + | ! style="background:#efefef;"|5 |
| | | | ||
| | | | ||
| Строка 258: | Строка 258: | ||
| | | | ||
|- | |- | ||
| − | ! 6 | + | ! style="background:#efefef;"|6 |
| | | | ||
| | | | ||
| Строка 267: | Строка 267: | ||
|} | |} | ||
{| border="1" style="width: 150px; height: 150px; float: left;" | {| border="1" style="width: 150px; height: 150px; float: left;" | ||
| − | ! colspan="7"|D | + | ! colspan="7" style="background:#ffdead;"|D |
|- | |- | ||
| − | ! | + | ! style="background:#efefef;"| |
| − | ! 1 | + | ! style="background:#efefef;"|1 |
| − | ! 2 | + | ! style="background:#efefef;"|2 |
| − | ! 3 | + | ! style="background:#efefef;"|3 |
| − | ! 4 | + | ! style="background:#efefef;"|4 |
| − | ! 5 | + | ! style="background:#efefef;"|5 |
| − | ! 6 | + | ! style="background:#efefef;"|6 |
|- | |- | ||
| − | ! 1 | + | ! style="background:#efefef;"|1 |
| | | | ||
| | | | ||
| Строка 285: | Строка 285: | ||
| | | | ||
|- | |- | ||
| − | ! 2 | + | ! style="background:#efefef;"|2 |
| | | | ||
| align="center"| ● | | align="center"| ● | ||
| Строка 293: | Строка 293: | ||
| | | | ||
|- | |- | ||
| − | ! 3 | + | ! style="background:#efefef;"|3 |
| | | | ||
| | | | ||
| Строка 301: | Строка 301: | ||
| | | | ||
|- | |- | ||
| − | ! 4 | + | ! style="background:#efefef;"|4 |
| | | | ||
| | | | ||
| Строка 309: | Строка 309: | ||
| | | | ||
|- | |- | ||
| − | ! 5 | + | ! style="background:#efefef;"|5 |
| | | | ||
| | | | ||
| Строка 317: | Строка 317: | ||
| | | | ||
|- | |- | ||
| − | ! 6 | + | ! style="background:#efefef;"|6 |
| | | | ||
| | | | ||
| Строка 326: | Строка 326: | ||
|} | |} | ||
{| border="1" style="width: 150px; height: 150px; " | {| border="1" style="width: 150px; height: 150px; " | ||
| − | ! colspan="7"|E | + | ! colspan="7" style="background:#ffdead;"|E |
|- | |- | ||
| − | ! | + | ! style="background:#efefef;"| |
| − | ! 1 | + | ! style="background:#efefef;"|1 |
| − | ! 2 | + | ! style="background:#efefef;"|2 |
| − | ! 3 | + | ! style="background:#efefef;"|3 |
| − | ! 4 | + | ! style="background:#efefef;"|4 |
| − | ! 5 | + | ! style="background:#efefef;"|5 |
| − | ! 6 | + | ! style="background:#efefef;"|6 |
|- | |- | ||
| − | ! 1 | + | ! style="background:#efefef;"|1 |
| | | | ||
| | | | ||
| Строка 344: | Строка 344: | ||
| | | | ||
|- | |- | ||
| − | ! 2 | + | ! style="background:#efefef;"|2 |
| | | | ||
| align="center"| ● | | align="center"| ● | ||
| Строка 352: | Строка 352: | ||
| | | | ||
|- | |- | ||
| − | ! 3 | + | ! style="background:#efefef;"|3 |
| | | | ||
| | | | ||
| Строка 360: | Строка 360: | ||
| | | | ||
|- | |- | ||
| − | ! 4 | + | ! style="background:#efefef;"|4 |
| | | | ||
| | | | ||
| Строка 368: | Строка 368: | ||
| | | | ||
|- | |- | ||
| − | ! 5 | + | ! style="background:#efefef;"|5 |
| | | | ||
| | | | ||
| Строка 376: | Строка 376: | ||
| | | | ||
|- | |- | ||
| − | ! 6 | + | ! style="background:#efefef;"|6 |
| | | | ||
| | | | ||
| Строка 384: | Строка 384: | ||
| align="center"| ● | | align="center"| ● | ||
|} | |} | ||
| − | |||
{| clear="both" |} | {| clear="both" |} | ||
Заполнение массива <tex>d</tex>. | Заполнение массива <tex>d</tex>. | ||
| + | |||
{| clear="both" |} | {| clear="both" |} | ||
| Строка 395: | Строка 395: | ||
{| border="1" style="width: 150px; height: 150px; float: left;" | {| border="1" style="width: 150px; height: 150px; float: left;" | ||
| − | ! colspan="7"|A | + | ! colspan="7" style="background:#ffdead;"|A |
|- | |- | ||
| − | ! | + | ! style="background:#efefef;"| |
| − | ! 1 | + | ! style="background:#efefef;"|1 |
| − | ! 2 | + | ! style="background:#efefef;"|2 |
| − | ! 3 | + | ! style="background:#efefef;"|3 |
| − | ! 4 | + | ! style="background:#efefef;"|4 |
| − | ! 5 | + | ! style="background:#efefef;"|5 |
| − | ! 6 | + | ! style="background:#efefef;"|6 |
|- | |- | ||
| − | ! 1 | + | ! style="background:#efefef;"|1 |
| | | | ||
| align="center"| ● | | align="center"| ● | ||
| Строка 413: | Строка 413: | ||
| | | | ||
|- | |- | ||
| − | ! 2 | + | ! style="background:#efefef;"|2 |
| | | | ||
| | | | ||
| Строка 421: | Строка 421: | ||
| | | | ||
|- | |- | ||
| − | ! 3 | + | ! style="background:#efefef;"|3 |
| | | | ||
| | | | ||
| Строка 429: | Строка 429: | ||
| | | | ||
|- | |- | ||
| − | ! 4 | + | ! style="background:#efefef;"|4 |
| | | | ||
| | | | ||
| Строка 437: | Строка 437: | ||
| | | | ||
|- | |- | ||
| − | ! 5 | + | ! style="background:#efefef;"|5 |
| | | | ||
| | | | ||
| Строка 445: | Строка 445: | ||
| | | | ||
|- | |- | ||
| − | ! 6 | + | ! style="background:#efefef;"|6 |
| | | | ||
| | | | ||
| Строка 454: | Строка 454: | ||
|} | |} | ||
{| border="1" style="width: 150px; height: 150px; float: left;" | {| border="1" style="width: 150px; height: 150px; float: left;" | ||
| − | ! colspan="7"|B | + | ! colspan="7" style="background:#ffdead;"|B |
|- | |- | ||
| − | ! | + | ! style="background:#efefef;"| |
| − | ! 1 | + | ! style="background:#efefef;"|1 |
| − | ! 2 | + | ! style="background:#efefef;"|2 |
| − | ! 3 | + | ! style="background:#efefef;"|3 |
| − | ! 4 | + | ! style="background:#efefef;"|4 |
| − | ! 5 | + | ! style="background:#efefef;"|5 |
| − | ! 6 | + | ! style="background:#efefef;"|6 |
|- | |- | ||
| − | ! 1 | + | ! style="background:#efefef;"|1 |
| | | | ||
| align="center"| ● | | align="center"| ● | ||
| Строка 472: | Строка 472: | ||
| | | | ||
|- | |- | ||
| − | ! 2 | + | ! style="background:#efefef;"|2 |
| | | | ||
| | | | ||
| Строка 480: | Строка 480: | ||
| | | | ||
|- | |- | ||
| − | ! 3 | + | ! style="background:#efefef;"|3 |
| | | | ||
| | | | ||
| Строка 488: | Строка 488: | ||
| | | | ||
|- | |- | ||
| − | ! 4 | + | ! style="background:#efefef;"|4 |
| | | | ||
| | | | ||
| Строка 496: | Строка 496: | ||
| | | | ||
|- | |- | ||
| − | ! 5 | + | ! style="background:#efefef;"|5 |
| | | | ||
| | | | ||
| Строка 504: | Строка 504: | ||
| | | | ||
|- | |- | ||
| − | ! 6 | + | ! style="background:#efefef;"|6 |
| | | | ||
| | | | ||
| Строка 513: | Строка 513: | ||
|} | |} | ||
{| border="1" style="width: 150px; height: 150px; float: left;" | {| border="1" style="width: 150px; height: 150px; float: left;" | ||
| − | ! colspan="7"|C | + | ! colspan="7" style="background:#ffdead;"|C |
|- | |- | ||
| − | ! | + | ! style="background:#efefef;"| |
| − | ! 1 | + | ! style="background:#efefef;"|1 |
| − | ! 2 | + | ! style="background:#efefef;"|2 |
| − | ! 3 | + | ! style="background:#efefef;"|3 |
| − | ! 4 | + | ! style="background:#efefef;"|4 |
| − | ! 5 | + | ! style="background:#efefef;"|5 |
| − | ! 6 | + | ! style="background:#efefef;"|6 |
|- | |- | ||
| − | ! 1 | + | ! style="background:#efefef;"|1 |
| align="center"| ● | | align="center"| ● | ||
| | | | ||
| Строка 531: | Строка 531: | ||
| | | | ||
|- | |- | ||
| − | ! 2 | + | ! style="background:#efefef;"|2 |
| | | | ||
| | | | ||
| Строка 539: | Строка 539: | ||
| | | | ||
|- | |- | ||
| − | ! 3 | + | ! style="background:#efefef;"|3 |
| | | | ||
| | | | ||
| Строка 547: | Строка 547: | ||
| | | | ||
|- | |- | ||
| − | ! 4 | + | ! style="background:#efefef;"|4 |
| | | | ||
| | | | ||
| Строка 555: | Строка 555: | ||
| | | | ||
|- | |- | ||
| − | ! 5 | + | ! style="background:#efefef;"|5 |
| | | | ||
| | | | ||
| Строка 563: | Строка 563: | ||
| | | | ||
|- | |- | ||
| − | ! 6 | + | ! style="background:#efefef;"|6 |
| | | | ||
| | | | ||
| Строка 572: | Строка 572: | ||
|} | |} | ||
{| border="1" style="width: 150px; height: 150px; float: left;" | {| border="1" style="width: 150px; height: 150px; float: left;" | ||
| − | ! colspan="7"|D | + | ! colspan="7" style="background:#ffdead;"|D |
|- | |- | ||
| − | ! | + | ! style="background:#efefef;"| |
| − | ! 1 | + | ! style="background:#efefef;"|1 |
| − | ! 2 | + | ! style="background:#efefef;"|2 |
| − | ! 3 | + | ! style="background:#efefef;"|3 |
| − | ! 4 | + | ! style="background:#efefef;"|4 |
| − | ! 5 | + | ! style="background:#efefef;"|5 |
| − | ! 6 | + | ! style="background:#efefef;"|6 |
|- | |- | ||
| − | ! 1 | + | ! style="background:#efefef;"|1 |
| | | | ||
| | | | ||
| Строка 590: | Строка 590: | ||
| | | | ||
|- | |- | ||
| − | ! 2 | + | ! style="background:#efefef;"|2 |
| | | | ||
| align="center"| ● | | align="center"| ● | ||
| Строка 598: | Строка 598: | ||
| | | | ||
|- | |- | ||
| − | ! 3 | + | ! style="background:#efefef;"|3 |
| | | | ||
| | | | ||
| Строка 606: | Строка 606: | ||
| | | | ||
|- | |- | ||
| − | ! 4 | + | ! style="background:#efefef;"|4 |
| | | | ||
| | | | ||
| Строка 614: | Строка 614: | ||
| | | | ||
|- | |- | ||
| − | ! 5 | + | ! style="background:#efefef;"|5 |
| | | | ||
| | | | ||
| Строка 622: | Строка 622: | ||
| | | | ||
|- | |- | ||
| − | ! 6 | + | ! style="background:#efefef;"|6 |
| | | | ||
| | | | ||
| Строка 631: | Строка 631: | ||
|} | |} | ||
{| border="1" style="width: 150px; height: 150px; " | {| border="1" style="width: 150px; height: 150px; " | ||
| − | ! colspan="7"|E | + | ! colspan="7" style="background:#ffdead;"|E |
|- | |- | ||
| − | ! | + | ! style="background:#efefef;"| |
| − | ! 1 | + | ! style="background:#efefef;"|1 |
| − | ! 2 | + | ! style="background:#efefef;"|2 |
| − | ! 3 | + | ! style="background:#efefef;"|3 |
| − | ! 4 | + | ! style="background:#efefef;"|4 |
| − | ! 5 | + | ! style="background:#efefef;"|5 |
| − | ! 6 | + | ! style="background:#efefef;"|6 |
|- | |- | ||
| − | ! 1 | + | ! style="background:#efefef;"|1 |
| | | | ||
| | | | ||
| Строка 649: | Строка 649: | ||
| | | | ||
|- | |- | ||
| − | ! 2 | + | ! style="background:#efefef;"|2 |
| | | | ||
| align="center"| ● | | align="center"| ● | ||
| Строка 657: | Строка 657: | ||
| | | | ||
|- | |- | ||
| − | ! 3 | + | ! style="background:#efefef;"|3 |
| | | | ||
| | | | ||
| Строка 665: | Строка 665: | ||
| | | | ||
|- | |- | ||
| − | ! 4 | + | ! style="background:#efefef;"|4 |
| | | | ||
| | | | ||
| Строка 673: | Строка 673: | ||
| | | | ||
|- | |- | ||
| − | ! 5 | + | ! style="background:#efefef;"|5 |
| | | | ||
| | | | ||
| Строка 681: | Строка 681: | ||
| | | | ||
|- | |- | ||
| − | ! 6 | + | ! style="background:#efefef;"|6 |
| | | | ||
| | | | ||
| Строка 695: | Строка 695: | ||
{| border="1" style="width: 150px; height: 150px; float: left;" | {| border="1" style="width: 150px; height: 150px; float: left;" | ||
| − | ! colspan="7"|A | + | ! colspan="7" style="background:#ffdead;"|A |
|- | |- | ||
| − | ! | + | ! style="background:#efefef;"| |
| − | ! 1 | + | ! style="background:#efefef;"|1 |
| − | ! 2 | + | ! style="background:#efefef;"|2 |
| − | ! 3 | + | ! style="background:#efefef;"|3 |
| − | ! 4 | + | ! style="background:#efefef;"|4 |
| − | ! 5 | + | ! style="background:#efefef;"|5 |
| − | ! 6 | + | ! style="background:#efefef;"|6 |
|- | |- | ||
| − | ! 1 | + | ! style="background:#efefef;"|1 |
| | | | ||
| align="center"| ● | | align="center"| ● | ||
| Строка 713: | Строка 713: | ||
| | | | ||
|- | |- | ||
| − | ! 2 | + | ! style="background:#efefef;"|2 |
| | | | ||
| | | | ||
| Строка 721: | Строка 721: | ||
| | | | ||
|- | |- | ||
| − | ! 3 | + | ! style="background:#efefef;"|3 |
| | | | ||
| | | | ||
| Строка 729: | Строка 729: | ||
| | | | ||
|- | |- | ||
| − | ! 4 | + | ! style="background:#efefef;"|4 |
| | | | ||
| | | | ||
| Строка 737: | Строка 737: | ||
| | | | ||
|- | |- | ||
| − | ! 5 | + | ! style="background:#efefef;"|5 |
| | | | ||
| | | | ||
| Строка 745: | Строка 745: | ||
| | | | ||
|- | |- | ||
| − | ! 6 | + | ! style="background:#efefef;"|6 |
| | | | ||
| | | | ||
| Строка 754: | Строка 754: | ||
|} | |} | ||
{| border="1" style="width: 150px; height: 150px; float: left;" | {| border="1" style="width: 150px; height: 150px; float: left;" | ||
| − | ! colspan="7"|B | + | ! colspan="7" style="background:#ffdead;"|B |
|- | |- | ||
| − | ! | + | ! style="background:#efefef;"| |
| − | ! 1 | + | ! style="background:#efefef;"|1 |
| − | ! 2 | + | ! style="background:#efefef;"|2 |
| − | ! 3 | + | ! style="background:#efefef;"|3 |
| − | ! 4 | + | ! style="background:#efefef;"|4 |
| − | ! 5 | + | ! style="background:#efefef;"|5 |
| − | ! 6 | + | ! style="background:#efefef;"|6 |
|- | |- | ||
| − | ! 1 | + | ! style="background:#efefef;"|1 |
| | | | ||
| align="center"| ● | | align="center"| ● | ||
| Строка 772: | Строка 772: | ||
| | | | ||
|- | |- | ||
| − | ! 2 | + | ! style="background:#efefef;"|2 |
| | | | ||
| | | | ||
| Строка 780: | Строка 780: | ||
| | | | ||
|- | |- | ||
| − | ! 3 | + | ! style="background:#efefef;"|3 |
| | | | ||
| | | | ||
| Строка 788: | Строка 788: | ||
| | | | ||
|- | |- | ||
| − | ! 4 | + | ! style="background:#efefef;"|4 |
| | | | ||
| | | | ||
| Строка 796: | Строка 796: | ||
| | | | ||
|- | |- | ||
| − | ! 5 | + | ! style="background:#efefef;"|5 |
| | | | ||
| | | | ||
| Строка 804: | Строка 804: | ||
| | | | ||
|- | |- | ||
| − | ! 6 | + | ! style="background:#efefef;"|6 |
| | | | ||
| | | | ||
| Строка 813: | Строка 813: | ||
|} | |} | ||
{| border="1" style="width: 150px; height: 150px; float: left;" | {| border="1" style="width: 150px; height: 150px; float: left;" | ||
| − | ! colspan="7"|C | + | ! colspan="7" style="background:#ffdead;"|C |
|- | |- | ||
| − | ! | + | ! style="background:#efefef;"| |
| − | ! 1 | + | ! style="background:#efefef;"|1 |
| − | ! 2 | + | ! style="background:#efefef;"|2 |
| − | ! 3 | + | ! style="background:#efefef;"|3 |
| − | ! 4 | + | ! style="background:#efefef;"|4 |
| − | ! 5 | + | ! style="background:#efefef;"|5 |
| − | ! 6 | + | ! style="background:#efefef;"|6 |
|- | |- | ||
| − | ! 1 | + | ! style="background:#efefef;"|1 |
| align="center"| ● | | align="center"| ● | ||
| | | | ||
| Строка 831: | Строка 831: | ||
| | | | ||
|- | |- | ||
| − | ! 2 | + | ! style="background:#efefef;"|2 |
| | | | ||
| | | | ||
| Строка 839: | Строка 839: | ||
| | | | ||
|- | |- | ||
| − | ! 3 | + | ! style="background:#efefef;"|3 |
| | | | ||
| | | | ||
| Строка 847: | Строка 847: | ||
| | | | ||
|- | |- | ||
| − | ! 4 | + | ! style="background:#efefef;"|4 |
| | | | ||
| | | | ||
| Строка 855: | Строка 855: | ||
| | | | ||
|- | |- | ||
| − | ! 5 | + | ! style="background:#efefef;"|5 |
| | | | ||
| | | | ||
| Строка 863: | Строка 863: | ||
| | | | ||
|- | |- | ||
| − | ! 6 | + | ! style="background:#efefef;"|6 |
| | | | ||
| | | | ||
| Строка 872: | Строка 872: | ||
|} | |} | ||
{| border="1" style="width: 150px; height: 150px; float: left;" | {| border="1" style="width: 150px; height: 150px; float: left;" | ||
| − | ! colspan="7"|D | + | ! colspan="7" style="background:#ffdead;"|D |
|- | |- | ||
| − | ! | + | ! style="background:#efefef;"| |
| − | ! 1 | + | ! style="background:#efefef;"|1 |
| − | ! 2 | + | ! style="background:#efefef;"|2 |
| − | ! 3 | + | ! style="background:#efefef;"|3 |
| − | ! 4 | + | ! style="background:#efefef;"|4 |
| − | ! 5 | + | ! style="background:#efefef;"|5 |
| − | ! 6 | + | ! style="background:#efefef;"|6 |
|- | |- | ||
| − | ! 1 | + | ! style="background:#efefef;"|1 |
| | | | ||
| | | | ||
| Строка 890: | Строка 890: | ||
| | | | ||
|- | |- | ||
| − | ! 2 | + | ! style="background:#efefef;"|2 |
| | | | ||
| align="center"| ● | | align="center"| ● | ||
| Строка 898: | Строка 898: | ||
| | | | ||
|- | |- | ||
| − | ! 3 | + | ! style="background:#efefef;"|3 |
| | | | ||
| | | | ||
| Строка 906: | Строка 906: | ||
| | | | ||
|- | |- | ||
| − | ! 4 | + | ! style="background:#efefef;"|4 |
| | | | ||
| | | | ||
| Строка 914: | Строка 914: | ||
| align="center"| ● | | align="center"| ● | ||
|- | |- | ||
| − | ! 5 | + | ! style="background:#efefef;"|5 |
| | | | ||
| | | | ||
| Строка 922: | Строка 922: | ||
| | | | ||
|- | |- | ||
| − | ! 6 | + | ! style="background:#efefef;"|6 |
| | | | ||
| | | | ||
| Строка 931: | Строка 931: | ||
|} | |} | ||
{| border="1" style="width: 150px; height: 150px; " | {| border="1" style="width: 150px; height: 150px; " | ||
| − | ! colspan="7"|E | + | ! colspan="7" style="background:#ffdead;"|E |
|- | |- | ||
| − | ! | + | ! style="background:#efefef;"| |
| − | ! 1 | + | ! style="background:#efefef;"|1 |
| − | ! 2 | + | ! style="background:#efefef;"|2 |
| − | ! 3 | + | ! style="background:#efefef;"|3 |
| − | ! 4 | + | ! style="background:#efefef;"|4 |
| − | ! 5 | + | ! style="background:#efefef;"|5 |
| − | ! 6 | + | ! style="background:#efefef;"|6 |
|- | |- | ||
| − | ! 1 | + | ! style="background:#efefef;"|1 |
| | | | ||
| | | | ||
| Строка 949: | Строка 949: | ||
| | | | ||
|- | |- | ||
| − | ! 2 | + | ! style="background:#efefef;"|2 |
| | | | ||
| align="center"| ● | | align="center"| ● | ||
| Строка 957: | Строка 957: | ||
| | | | ||
|- | |- | ||
| − | ! 3 | + | ! style="background:#efefef;"|3 |
| | | | ||
| | | | ||
| Строка 965: | Строка 965: | ||
| | | | ||
|- | |- | ||
| − | ! 4 | + | ! style="background:#efefef;"|4 |
| | | | ||
| | | | ||
| Строка 973: | Строка 973: | ||
| | | | ||
|- | |- | ||
| − | ! 5 | + | ! style="background:#efefef;"|5 |
| | | | ||
| | | | ||
| Строка 981: | Строка 981: | ||
| | | | ||
|- | |- | ||
| − | ! 6 | + | ! style="background:#efefef;"|6 |
| | | | ||
| | | | ||
| Строка 995: | Строка 995: | ||
{| border="1" style="width: 150px; height: 150px; float: left;" | {| border="1" style="width: 150px; height: 150px; float: left;" | ||
| − | ! colspan="7"|A | + | ! colspan="7" style="background:#ffdead;"|A |
|- | |- | ||
| − | ! | + | ! style="background:#efefef;"| |
| − | ! 1 | + | ! style="background:#efefef;"|1 |
| − | ! 2 | + | ! style="background:#efefef;"|2 |
| − | ! 3 | + | ! style="background:#efefef;"|3 |
| − | ! 4 | + | ! style="background:#efefef;"|4 |
| − | ! 5 | + | ! style="background:#efefef;"|5 |
| − | ! 6 | + | ! style="background:#efefef;"|6 |
|- | |- | ||
| − | ! 1 | + | ! style="background:#efefef;"|1 |
| | | | ||
| align="center"| ● | | align="center"| ● | ||
| Строка 1013: | Строка 1013: | ||
| | | | ||
|- | |- | ||
| − | ! 2 | + | ! style="background:#efefef;"|2 |
| | | | ||
| | | | ||
| Строка 1021: | Строка 1021: | ||
| | | | ||
|- | |- | ||
| − | ! 3 | + | ! style="background:#efefef;"|3 |
| | | | ||
| | | | ||
| Строка 1029: | Строка 1029: | ||
| align="center"| ● | | align="center"| ● | ||
|- | |- | ||
| − | ! 4 | + | ! style="background:#efefef;"|4 |
| | | | ||
| | | | ||
| Строка 1037: | Строка 1037: | ||
| | | | ||
|- | |- | ||
| − | ! 5 | + | ! style="background:#efefef;"|5 |
| | | | ||
| | | | ||
| Строка 1045: | Строка 1045: | ||
| | | | ||
|- | |- | ||
| − | ! 6 | + | ! style="background:#efefef;"|6 |
| | | | ||
| | | | ||
| Строка 1054: | Строка 1054: | ||
|} | |} | ||
{| border="1" style="width: 150px; height: 150px; float: left;" | {| border="1" style="width: 150px; height: 150px; float: left;" | ||
| − | ! colspan="7"|B | + | ! colspan="7" style="background:#ffdead;"|B |
|- | |- | ||
| − | ! | + | ! style="background:#efefef;"| |
| − | ! 1 | + | ! style="background:#efefef;"|1 |
| − | ! 2 | + | ! style="background:#efefef;"|2 |
| − | ! 3 | + | ! style="background:#efefef;"|3 |
| − | ! 4 | + | ! style="background:#efefef;"|4 |
| − | ! 5 | + | ! style="background:#efefef;"|5 |
| − | ! 6 | + | ! style="background:#efefef;"|6 |
|- | |- | ||
| − | ! 1 | + | ! style="background:#efefef;"|1 |
| | | | ||
| align="center"| ● | | align="center"| ● | ||
| Строка 1072: | Строка 1072: | ||
| | | | ||
|- | |- | ||
| − | ! 2 | + | ! style="background:#efefef;"|2 |
| | | | ||
| | | | ||
| Строка 1080: | Строка 1080: | ||
| | | | ||
|- | |- | ||
| − | ! 3 | + | ! style="background:#efefef;"|3 |
| | | | ||
| | | | ||
| Строка 1088: | Строка 1088: | ||
| align="center"| ● | | align="center"| ● | ||
|- | |- | ||
| − | ! 4 | + | ! style="background:#efefef;"|4 |
| | | | ||
| | | | ||
| Строка 1096: | Строка 1096: | ||
| | | | ||
|- | |- | ||
| − | ! 5 | + | ! style="background:#efefef;"|5 |
| | | | ||
| | | | ||
| Строка 1104: | Строка 1104: | ||
| | | | ||
|- | |- | ||
| − | ! 6 | + | ! style="background:#efefef;"|6 |
| | | | ||
| | | | ||
| Строка 1113: | Строка 1113: | ||
|} | |} | ||
{| border="1" style="width: 150px; height: 150px; float: left;" | {| border="1" style="width: 150px; height: 150px; float: left;" | ||
| − | ! colspan="7"|C | + | ! colspan="7" style="background:#ffdead;"|C |
|- | |- | ||
| − | ! | + | ! style="background:#efefef;"| |
| − | ! 1 | + | ! style="background:#efefef;"|1 |
| − | ! 2 | + | ! style="background:#efefef;"|2 |
| − | ! 3 | + | ! style="background:#efefef;"|3 |
| − | ! 4 | + | ! style="background:#efefef;"|4 |
| − | ! 5 | + | ! style="background:#efefef;"|5 |
| − | ! 6 | + | ! style="background:#efefef;"|6 |
|- | |- | ||
| − | ! 1 | + | ! style="background:#efefef;"|1 |
| align="center"| ● | | align="center"| ● | ||
| | | | ||
| Строка 1131: | Строка 1131: | ||
| | | | ||
|- | |- | ||
| − | ! 2 | + | ! style="background:#efefef;"|2 |
| | | | ||
| | | | ||
| Строка 1139: | Строка 1139: | ||
| | | | ||
|- | |- | ||
| − | ! 3 | + | ! style="background:#efefef;"|3 |
| | | | ||
| | | | ||
| Строка 1147: | Строка 1147: | ||
| | | | ||
|- | |- | ||
| − | ! 4 | + | ! style="background:#efefef;"|4 |
| | | | ||
| | | | ||
| Строка 1155: | Строка 1155: | ||
| | | | ||
|- | |- | ||
| − | ! 5 | + | ! style="background:#efefef;"|5 |
| | | | ||
| | | | ||
| Строка 1163: | Строка 1163: | ||
| | | | ||
|- | |- | ||
| − | ! 6 | + | ! style="background:#efefef;"|6 |
| | | | ||
| | | | ||
| Строка 1172: | Строка 1172: | ||
|} | |} | ||
{| border="1" style="width: 150px; height: 150px; float: left;" | {| border="1" style="width: 150px; height: 150px; float: left;" | ||
| − | ! colspan="7"|D | + | ! colspan="7" style="background:#ffdead;"|D |
|- | |- | ||
| − | ! | + | ! style="background:#efefef;"| |
| − | ! 1 | + | ! style="background:#efefef;"|1 |
| − | ! 2 | + | ! style="background:#efefef;"|2 |
| − | ! 3 | + | ! style="background:#efefef;"|3 |
| − | ! 4 | + | ! style="background:#efefef;"|4 |
| − | ! 5 | + | ! style="background:#efefef;"|5 |
| − | ! 6 | + | ! style="background:#efefef;"|6 |
|- | |- | ||
| − | ! 1 | + | ! style="background:#efefef;"|1 |
| | | | ||
| | | | ||
| Строка 1190: | Строка 1190: | ||
| | | | ||
|- | |- | ||
| − | ! 2 | + | ! style="background:#efefef;"|2 |
| | | | ||
| align="center"| ● | | align="center"| ● | ||
| Строка 1198: | Строка 1198: | ||
| | | | ||
|- | |- | ||
| − | ! 3 | + | ! style="background:#efefef;"|3 |
| | | | ||
| | | | ||
| Строка 1206: | Строка 1206: | ||
| | | | ||
|- | |- | ||
| − | ! 4 | + | ! style="background:#efefef;"|4 |
| | | | ||
| | | | ||
| Строка 1214: | Строка 1214: | ||
| align="center"| ● | | align="center"| ● | ||
|- | |- | ||
| − | ! 5 | + | ! style="background:#efefef;"|5 |
| | | | ||
| | | | ||
| Строка 1222: | Строка 1222: | ||
| | | | ||
|- | |- | ||
| − | ! 6 | + | ! style="background:#efefef;"|6 |
| | | | ||
| | | | ||
| Строка 1231: | Строка 1231: | ||
|} | |} | ||
{| border="1" style="width: 150px; height: 150px; " | {| border="1" style="width: 150px; height: 150px; " | ||
| − | ! colspan="7"|E | + | ! colspan="7" style="background:#ffdead;"|E |
|- | |- | ||
| − | ! | + | ! style="background:#efefef;"| |
| − | ! 1 | + | ! style="background:#efefef;"|1 |
| − | ! 2 | + | ! style="background:#efefef;"|2 |
| − | ! 3 | + | ! style="background:#efefef;"|3 |
| − | ! 4 | + | ! style="background:#efefef;"|4 |
| − | ! 5 | + | ! style="background:#efefef;"|5 |
| − | ! 6 | + | ! style="background:#efefef;"|6 |
|- | |- | ||
| − | ! 1 | + | ! style="background:#efefef;"|1 |
| | | | ||
| | | | ||
| Строка 1249: | Строка 1249: | ||
| | | | ||
|- | |- | ||
| − | ! 2 | + | ! style="background:#efefef;"|2 |
| | | | ||
| align="center"| ● | | align="center"| ● | ||
| Строка 1257: | Строка 1257: | ||
| | | | ||
|- | |- | ||
| − | ! 3 | + | ! style="background:#efefef;"|3 |
| | | | ||
| | | | ||
| Строка 1265: | Строка 1265: | ||
| | | | ||
|- | |- | ||
| − | ! 4 | + | ! style="background:#efefef;"|4 |
| | | | ||
| | | | ||
| Строка 1273: | Строка 1273: | ||
| | | | ||
|- | |- | ||
| − | ! 5 | + | ! style="background:#efefef;"|5 |
| | | | ||
| | | | ||
| Строка 1281: | Строка 1281: | ||
| | | | ||
|- | |- | ||
| − | ! 6 | + | ! style="background:#efefef;"|6 |
| | | | ||
| | | | ||
| Строка 1295: | Строка 1295: | ||
{| border="1" style="width: 150px; height: 150px; float: left;" | {| border="1" style="width: 150px; height: 150px; float: left;" | ||
| − | ! colspan="7"|A | + | ! colspan="7" style="background:#ffdead;"|A |
|- | |- | ||
| − | ! | + | ! style="background:#efefef;"| |
| − | ! 1 | + | ! style="background:#efefef;"|1 |
| − | ! 2 | + | ! style="background:#efefef;"|2 |
| − | ! 3 | + | ! style="background:#efefef;"|3 |
| − | ! 4 | + | ! style="background:#efefef;"|4 |
| − | ! 5 | + | ! style="background:#efefef;"|5 |
| − | ! 6 | + | ! style="background:#efefef;"|6 |
|- | |- | ||
| − | ! 1 | + | ! style="background:#efefef;"|1 |
| | | | ||
| align="center"| ● | | align="center"| ● | ||
| Строка 1313: | Строка 1313: | ||
| | | | ||
|- | |- | ||
| − | ! 2 | + | ! style="background:#efefef;"|2 |
| | | | ||
| | | | ||
| Строка 1321: | Строка 1321: | ||
| | | | ||
|- | |- | ||
| − | ! 3 | + | ! style="background:#efefef;"|3 |
| | | | ||
| | | | ||
| Строка 1329: | Строка 1329: | ||
| align="center"| ● | | align="center"| ● | ||
|- | |- | ||
| − | ! 4 | + | ! style="background:#efefef;"|4 |
| | | | ||
| | | | ||
| Строка 1337: | Строка 1337: | ||
| | | | ||
|- | |- | ||
| − | ! 5 | + | ! style="background:#efefef;"|5 |
| | | | ||
| | | | ||
| Строка 1345: | Строка 1345: | ||
| | | | ||
|- | |- | ||
| − | ! 6 | + | ! style="background:#efefef;"|6 |
| | | | ||
| | | | ||
| Строка 1354: | Строка 1354: | ||
|} | |} | ||
{| border="1" style="width: 150px; height: 150px; float: left;" | {| border="1" style="width: 150px; height: 150px; float: left;" | ||
| − | ! colspan="7"|B | + | ! colspan="7" style="background:#ffdead;"|B |
|- | |- | ||
| − | ! | + | ! style="background:#efefef;"| |
| − | ! 1 | + | ! style="background:#efefef;"|1 |
| − | ! 2 | + | ! style="background:#efefef;"|2 |
| − | ! 3 | + | ! style="background:#efefef;"|3 |
| − | ! 4 | + | ! style="background:#efefef;"|4 |
| − | ! 5 | + | ! style="background:#efefef;"|5 |
| − | ! 6 | + | ! style="background:#efefef;"|6 |
|- | |- | ||
| − | ! 1 | + | ! style="background:#efefef;"|1 |
| | | | ||
| align="center"| ● | | align="center"| ● | ||
| Строка 1372: | Строка 1372: | ||
| | | | ||
|- | |- | ||
| − | ! 2 | + | ! style="background:#efefef;"|2 |
| | | | ||
| | | | ||
| Строка 1380: | Строка 1380: | ||
| | | | ||
|- | |- | ||
| − | ! 3 | + | ! style="background:#efefef;"|3 |
| | | | ||
| | | | ||
| Строка 1388: | Строка 1388: | ||
| align="center"| ● | | align="center"| ● | ||
|- | |- | ||
| − | ! 4 | + | ! style="background:#efefef;"|4 |
| | | | ||
| | | | ||
| Строка 1396: | Строка 1396: | ||
| | | | ||
|- | |- | ||
| − | ! 5 | + | ! style="background:#efefef;"|5 |
| | | | ||
| | | | ||
| Строка 1404: | Строка 1404: | ||
| | | | ||
|- | |- | ||
| − | ! 6 | + | ! style="background:#efefef;"|6 |
| | | | ||
| | | | ||
| Строка 1413: | Строка 1413: | ||
|} | |} | ||
{| border="1" style="width: 150px; height: 150px; float: left;" | {| border="1" style="width: 150px; height: 150px; float: left;" | ||
| − | ! colspan="7"|C | + | ! colspan="7" style="background:#ffdead;"|C |
|- | |- | ||
| − | ! | + | ! style="background:#efefef;"| |
| − | ! 1 | + | ! style="background:#efefef;"|1 |
| − | ! 2 | + | ! style="background:#efefef;"|2 |
| − | ! 3 | + | ! style="background:#efefef;"|3 |
| − | ! 4 | + | ! style="background:#efefef;"|4 |
| − | ! 5 | + | ! style="background:#efefef;"|5 |
| − | ! 6 | + | ! style="background:#efefef;"|6 |
|- | |- | ||
| − | ! 1 | + | ! style="background:#efefef;"|1 |
| align="center"| ● | | align="center"| ● | ||
| | | | ||
| Строка 1431: | Строка 1431: | ||
| | | | ||
|- | |- | ||
| − | ! 2 | + | ! style="background:#efefef;"|2 |
| | | | ||
| | | | ||
| Строка 1439: | Строка 1439: | ||
| | | | ||
|- | |- | ||
| − | ! 3 | + | ! style="background:#efefef;"|3 |
| | | | ||
| | | | ||
| Строка 1447: | Строка 1447: | ||
| | | | ||
|- | |- | ||
| − | ! 4 | + | ! style="background:#efefef;"|4 |
| | | | ||
| | | | ||
| Строка 1455: | Строка 1455: | ||
| | | | ||
|- | |- | ||
| − | ! 5 | + | ! style="background:#efefef;"|5 |
| | | | ||
| | | | ||
| Строка 1463: | Строка 1463: | ||
| | | | ||
|- | |- | ||
| − | ! 6 | + | ! style="background:#efefef;"|6 |
| | | | ||
| | | | ||
| Строка 1472: | Строка 1472: | ||
|} | |} | ||
{| border="1" style="width: 150px; height: 150px; float: left;" | {| border="1" style="width: 150px; height: 150px; float: left;" | ||
| − | ! colspan="7"|D | + | ! colspan="7" style="background:#ffdead;"|D |
|- | |- | ||
| − | ! | + | ! style="background:#efefef;"| |
| − | ! 1 | + | ! style="background:#efefef;"|1 |
| − | ! 2 | + | ! style="background:#efefef;"|2 |
| − | ! 3 | + | ! style="background:#efefef;"|3 |
| − | ! 4 | + | ! style="background:#efefef;"|4 |
| − | ! 5 | + | ! style="background:#efefef;"|5 |
| − | ! 6 | + | ! style="background:#efefef;"|6 |
|- | |- | ||
| − | ! 1 | + | ! style="background:#efefef;"|1 |
| | | | ||
| | | | ||
| Строка 1490: | Строка 1490: | ||
| | | | ||
|- | |- | ||
| − | ! 2 | + | ! style="background:#efefef;"|2 |
| | | | ||
| align="center"| ● | | align="center"| ● | ||
| Строка 1498: | Строка 1498: | ||
| | | | ||
|- | |- | ||
| − | ! 3 | + | ! style="background:#efefef;"|3 |
| | | | ||
| | | | ||
| Строка 1506: | Строка 1506: | ||
| | | | ||
|- | |- | ||
| − | ! 4 | + | ! style="background:#efefef;"|4 |
| | | | ||
| | | | ||
| Строка 1514: | Строка 1514: | ||
| align="center"| ● | | align="center"| ● | ||
|- | |- | ||
| − | ! 5 | + | ! style="background:#efefef;"|5 |
| | | | ||
| | | | ||
| Строка 1522: | Строка 1522: | ||
| | | | ||
|- | |- | ||
| − | ! 6 | + | ! style="background:#efefef;"|6 |
| | | | ||
| | | | ||
| Строка 1531: | Строка 1531: | ||
|} | |} | ||
{| border="1" style="width: 150px; height: 150px; " | {| border="1" style="width: 150px; height: 150px; " | ||
| − | ! colspan="7"|E | + | ! colspan="7" style="background:#ffdead;"|E |
|- | |- | ||
| − | ! | + | ! style="background:#efefef;"| |
| − | ! 1 | + | ! style="background:#efefef;"|1 |
| − | ! 2 | + | ! style="background:#efefef;"|2 |
| − | ! 3 | + | ! style="background:#efefef;"|3 |
| − | ! 4 | + | ! style="background:#efefef;"|4 |
| − | ! 5 | + | ! style="background:#efefef;"|5 |
| − | ! 6 | + | ! style="background:#efefef;"|6 |
|- | |- | ||
| − | ! 1 | + | ! style="background:#efefef;"|1 |
| | | | ||
| | | | ||
| Строка 1549: | Строка 1549: | ||
| | | | ||
|- | |- | ||
| − | ! 2 | + | ! style="background:#efefef;"|2 |
| | | | ||
| align="center"| ● | | align="center"| ● | ||
| Строка 1557: | Строка 1557: | ||
| | | | ||
|- | |- | ||
| − | ! 3 | + | ! style="background:#efefef;"|3 |
| | | | ||
| | | | ||
| Строка 1565: | Строка 1565: | ||
| | | | ||
|- | |- | ||
| − | ! 4 | + | ! style="background:#efefef;"|4 |
| | | | ||
| | | | ||
| Строка 1573: | Строка 1573: | ||
| | | | ||
|- | |- | ||
| − | ! 5 | + | ! style="background:#efefef;"|5 |
| | | | ||
| | | | ||
| Строка 1581: | Строка 1581: | ||
| | | | ||
|- | |- | ||
| − | ! 6 | + | ! style="background:#efefef;"|6 |
| | | | ||
| | | | ||
| Строка 1595: | Строка 1595: | ||
{| border="1" style="width: 150px; height: 150px; float: left;" | {| border="1" style="width: 150px; height: 150px; float: left;" | ||
| − | ! colspan="7"|A | + | ! colspan="7" style="background:#ffdead;"|A |
|- | |- | ||
| − | ! | + | ! style="background:#efefef;"| |
| − | ! 1 | + | ! style="background:#efefef;"|1 |
| − | ! 2 | + | ! style="background:#efefef;"|2 |
| − | ! 3 | + | ! style="background:#efefef;"|3 |
| − | ! 4 | + | ! style="background:#efefef;"|4 |
| − | ! 5 | + | ! style="background:#efefef;"|5 |
| − | ! 6 | + | ! style="background:#efefef;"|6 |
|- | |- | ||
| − | ! 1 | + | ! style="background:#efefef;"|1 |
| | | | ||
| align="center"| ● | | align="center"| ● | ||
| Строка 1613: | Строка 1613: | ||
| align="center"| ● | | align="center"| ● | ||
|- | |- | ||
| − | ! 2 | + | ! style="background:#efefef;"|2 |
| | | | ||
| | | | ||
| Строка 1621: | Строка 1621: | ||
| | | | ||
|- | |- | ||
| − | ! 3 | + | ! style="background:#efefef;"|3 |
| | | | ||
| | | | ||
| Строка 1629: | Строка 1629: | ||
| align="center"| ● | | align="center"| ● | ||
|- | |- | ||
| − | ! 4 | + | ! style="background:#efefef;"|4 |
| | | | ||
| | | | ||
| Строка 1637: | Строка 1637: | ||
| | | | ||
|- | |- | ||
| − | ! 5 | + | ! style="background:#efefef;"|5 |
| | | | ||
| | | | ||
| Строка 1645: | Строка 1645: | ||
| | | | ||
|- | |- | ||
| − | ! 6 | + | ! style="background:#efefef;"|6 |
| | | | ||
| | | | ||
| Строка 1654: | Строка 1654: | ||
|} | |} | ||
{| border="1" style="width: 150px; height: 150px; float: left;" | {| border="1" style="width: 150px; height: 150px; float: left;" | ||
| − | ! colspan="7"|B | + | ! colspan="7" style="background:#ffdead;"|B |
|- | |- | ||
| − | ! | + | ! style="background:#efefef;"| |
| − | ! 1 | + | ! style="background:#efefef;"|1 |
| − | ! 2 | + | ! style="background:#efefef;"|2 |
| − | ! 3 | + | ! style="background:#efefef;"|3 |
| − | ! 4 | + | ! style="background:#efefef;"|4 |
| − | ! 5 | + | ! style="background:#efefef;"|5 |
| − | ! 6 | + | ! style="background:#efefef;"|6 |
|- | |- | ||
| − | ! 1 | + | ! style="background:#efefef;"|1 |
| | | | ||
| align="center"| ● | | align="center"| ● | ||
| Строка 1672: | Строка 1672: | ||
| align="center"| ● | | align="center"| ● | ||
|- | |- | ||
| − | ! 2 | + | ! style="background:#efefef;"|2 |
| | | | ||
| | | | ||
| Строка 1680: | Строка 1680: | ||
| | | | ||
|- | |- | ||
| − | ! 3 | + | ! style="background:#efefef;"|3 |
| | | | ||
| | | | ||
| Строка 1688: | Строка 1688: | ||
| align="center"| ● | | align="center"| ● | ||
|- | |- | ||
| − | ! 4 | + | ! style="background:#efefef;"|4 |
| | | | ||
| | | | ||
| Строка 1696: | Строка 1696: | ||
| | | | ||
|- | |- | ||
| − | ! 5 | + | ! style="background:#efefef;"|5 |
| | | | ||
| | | | ||
| Строка 1704: | Строка 1704: | ||
| | | | ||
|- | |- | ||
| − | ! 6 | + | ! style="background:#efefef;"|6 |
| | | | ||
| | | | ||
| Строка 1713: | Строка 1713: | ||
|} | |} | ||
{| border="1" style="width: 150px; height: 150px; float: left;" | {| border="1" style="width: 150px; height: 150px; float: left;" | ||
| − | ! colspan="7"|C | + | ! colspan="7" style="background:#ffdead;"|C |
|- | |- | ||
| − | ! | + | ! style="background:#efefef;"| |
| − | ! 1 | + | ! style="background:#efefef;"|1 |
| − | ! 2 | + | ! style="background:#efefef;"|2 |
| − | ! 3 | + | ! style="background:#efefef;"|3 |
| − | ! 4 | + | ! style="background:#efefef;"|4 |
| − | ! 5 | + | ! style="background:#efefef;"|5 |
| − | ! 6 | + | ! style="background:#efefef;"|6 |
|- | |- | ||
| − | ! 1 | + | ! style="background:#efefef;"|1 |
| align="center"| ● | | align="center"| ● | ||
| | | | ||
| Строка 1731: | Строка 1731: | ||
| | | | ||
|- | |- | ||
| − | ! 2 | + | ! style="background:#efefef;"|2 |
| | | | ||
| | | | ||
| Строка 1739: | Строка 1739: | ||
| | | | ||
|- | |- | ||
| − | ! 3 | + | ! style="background:#efefef;"|3 |
| | | | ||
| | | | ||
| Строка 1747: | Строка 1747: | ||
| | | | ||
|- | |- | ||
| − | ! 4 | + | ! style="background:#efefef;"|4 |
| | | | ||
| | | | ||
| Строка 1755: | Строка 1755: | ||
| | | | ||
|- | |- | ||
| − | ! 5 | + | ! style="background:#efefef;"|5 |
| | | | ||
| | | | ||
| Строка 1763: | Строка 1763: | ||
| | | | ||
|- | |- | ||
| − | ! 6 | + | ! style="background:#efefef;"|6 |
| | | | ||
| | | | ||
| Строка 1772: | Строка 1772: | ||
|} | |} | ||
{| border="1" style="width: 150px; height: 150px; float: left;" | {| border="1" style="width: 150px; height: 150px; float: left;" | ||
| − | ! colspan="7"|D | + | ! colspan="7" style="background:#ffdead;"|D |
|- | |- | ||
| − | ! | + | ! style="background:#efefef;"| |
| − | ! 1 | + | ! style="background:#efefef;"|1 |
| − | ! 2 | + | ! style="background:#efefef;"|2 |
| − | ! 3 | + | ! style="background:#efefef;"|3 |
| − | ! 4 | + | ! style="background:#efefef;"|4 |
| − | ! 5 | + | ! style="background:#efefef;"|5 |
| − | ! 6 | + | ! style="background:#efefef;"|6 |
|- | |- | ||
| − | ! 1 | + | ! style="background:#efefef;"|1 |
| | | | ||
| | | | ||
| Строка 1790: | Строка 1790: | ||
| | | | ||
|- | |- | ||
| − | ! 2 | + | ! style="background:#efefef;"|2 |
| | | | ||
| align="center"| ● | | align="center"| ● | ||
| Строка 1798: | Строка 1798: | ||
| | | | ||
|- | |- | ||
| − | ! 3 | + | ! style="background:#efefef;"|3 |
| | | | ||
| | | | ||
| Строка 1806: | Строка 1806: | ||
| | | | ||
|- | |- | ||
| − | ! 4 | + | ! style="background:#efefef;"|4 |
| | | | ||
| | | | ||
| Строка 1814: | Строка 1814: | ||
| align="center"| ● | | align="center"| ● | ||
|- | |- | ||
| − | ! 5 | + | ! style="background:#efefef;"|5 |
| | | | ||
| | | | ||
| Строка 1822: | Строка 1822: | ||
| | | | ||
|- | |- | ||
| − | ! 6 | + | ! style="background:#efefef;"|6 |
| | | | ||
| | | | ||
| Строка 1831: | Строка 1831: | ||
|} | |} | ||
{| border="1" style="width: 150px; height: 150px; " | {| border="1" style="width: 150px; height: 150px; " | ||
| − | ! colspan="7"|E | + | ! colspan="7" style="background:#ffdead;"|E |
|- | |- | ||
| − | ! | + | ! style="background:#efefef;"| |
| − | ! 1 | + | ! style="background:#efefef;"|1 |
| − | ! 2 | + | ! style="background:#efefef;"|2 |
| − | ! 3 | + | ! style="background:#efefef;"|3 |
| − | ! 4 | + | ! style="background:#efefef;"|4 |
| − | ! 5 | + | ! style="background:#efefef;"|5 |
| − | ! 6 | + | ! style="background:#efefef;"|6 |
|- | |- | ||
| − | ! 1 | + | ! style="background:#efefef;"|1 |
| | | | ||
| | | | ||
| Строка 1849: | Строка 1849: | ||
| | | | ||
|- | |- | ||
| − | ! 2 | + | ! style="background:#efefef;"|2 |
| | | | ||
| align="center"| ● | | align="center"| ● | ||
| Строка 1857: | Строка 1857: | ||
| | | | ||
|- | |- | ||
| − | ! 3 | + | ! style="background:#efefef;"|3 |
| | | | ||
| | | | ||
| Строка 1865: | Строка 1865: | ||
| | | | ||
|- | |- | ||
| − | ! 4 | + | ! style="background:#efefef;"|4 |
| | | | ||
| | | | ||
| Строка 1873: | Строка 1873: | ||
| | | | ||
|- | |- | ||
| − | ! 5 | + | ! style="background:#efefef;"|5 |
| | | | ||
| | | | ||
| Строка 1881: | Строка 1881: | ||
| | | | ||
|- | |- | ||
| − | ! 6 | + | ! style="background:#efefef;"|6 |
| | | | ||
| | | | ||
Версия 20:36, 5 ноября 2014
| Задача: |
| Пусть дана контекстно-свободная грамматика в нормальной форме Хомского и слово . Требуется выяснить, выводится ли это слово в данной грамматике. |
Содержание
Контекстно-свободная грамматика
| Определение: |
| Контекстно-свободная грамматика (КС-грамматика, бесконтекстная грамматика) — способ описания формального языка, представляющий собой четверку
, где:
|
Пример
Терминалы .
Нетерминалы .
Правила вывода :
Данная грамматика задает язык правильных скобочных последовательностей. Например, последовательность может быть выведена следующим образом:
Нормальная форма Хомского
Нормальная форма Хомского - нормальная форма КС-грамматик, в которой все продукции имеют вид:
- A → a, где A - нетерминал, а a - терминал
- A → BC, где A, B, C - нетерминалы, причем B и C не являются начальными нетерминалами
- S → ε, где S - начальный нетерминал и ε - пустая строка (данная продукция необходима, если в языке присуствует пустая строка)
Можно показать, что любую КС-грамматику можно привести к нормальной форме Хомского, поэтому алгоритм является в этом плане универсальным.
Алгоритм
Алгоритм Кока-Янгера-Касами (англ. Cocke-Younger-Kasami algorithm, англ. CYK-алгоритм) — универсальный алгоритм, позволяющий по слову узнать, выводимо ли оно в заданной КС-грамматике в нормальной форме Хомского. Будем решать задачу динамическим программированием. Дана строка размером . Заведем для неё трехмерный массив размером , состоящий из логических значений, и тогда и только тогда, когда из нетерминала правилами грамматики можно вывести подстроку .
Рассмотрим все пары , где — константа и .
- . Инициализируем массив для всех нетерминалов, из которых выводится какой-либо символ строки . В таком случае , если в грамматике присутствует правило . Иначе .
- . Значения для всех нетерминалов и пар уже вычислены, поэтому . То есть, подстроку можно вывести из нетерминала , если существует продукция вида и такое , что подстрока выводима из , а подстрока выводится из .
После окончания работы значение содержит ответ на вопрос, выводима ли данная строка в данной грамматике, где — начальный символ грамматики.
Модификации
Количество способов вывести слово
Если массив будет хранить целые числа, а формулу заменить на , то — количество способов получить подстроку из нетерминала .
Минимальная стоимость вывода слова
Пусть — стоимость вывода по правилу . Тогда, если использовать формулу , то — минимальная стоимость вывода подстроки из нетерминала .
Таким образом, задача о выводе в КС-грамматике в нормальной форме Хомского является частным случаем задачи динамического программирования на подотрезке.
Асимптотика
Обработка правил вида выполняется за .
Проход по всем подстрокам выполняется за . В обработке одной подстроки присутствует цикл по всем правилам вывода и по всем разбиениям на две подстроки, следовательно обработка работает за . В итоге получаем конечную сложность .
Следовательно, общее время работы алгоритма — . Кроме того, алгоритму требуется память на массив объемом , где — количество нетерминалов грамматики.
Пример работы
Дана грамматика правильных скобочных последовательностей в нормальной форме Хомского.
Дано слово .
Инициализация массива .
| A | ||||||
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 1 | ||||||
| 2 | ||||||
| 3 | ||||||
| 4 | ||||||
| 5 | ||||||
| 6 | ||||||
| B | ||||||
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 1 | ||||||
| 2 | ||||||
| 3 | ||||||
| 4 | ||||||
| 5 | ||||||
| 6 | ||||||
| C | ||||||
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 1 | ● | |||||
| 2 | ||||||
| 3 | ● | |||||
| 4 | ● | |||||
| 5 | ||||||
| 6 | ||||||
| D | ||||||
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 1 | ||||||
| 2 | ● | |||||
| 3 | ||||||
| 4 | ||||||
| 5 | ● | |||||
| 6 | ● | |||||
| E | ||||||
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 1 | ||||||
| 2 | ● | |||||
| 3 | ||||||
| 4 | ||||||
| 5 | ● | |||||
| 6 | ● | |||||
| A | ||||||
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 1 | ● | |||||
| 2 | ||||||
| 3 | ||||||
| 4 | ● | |||||
| 5 | ||||||
| 6 | ||||||
| B | ||||||
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 1 | ● | |||||
| 2 | ||||||
| 3 | ||||||
| 4 | ● | |||||
| 5 | ||||||
| 6 | ||||||
| C | ||||||
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 1 | ● | |||||
| 2 | ||||||
| 3 | ● | |||||
| 4 | ● | |||||
| 5 | ||||||
| 6 | ||||||
| D | ||||||
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 1 | ||||||
| 2 | ● | |||||
| 3 | ||||||
| 4 | ||||||
| 5 | ● | |||||
| 6 | ● | |||||
| E | ||||||
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 1 | ||||||
| 2 | ● | |||||
| 3 | ||||||
| 4 | ||||||
| 5 | ● | |||||
| 6 | ● | |||||
| A | ||||||
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 1 | ● | |||||
| 2 | ||||||
| 3 | ||||||
| 4 | ● | |||||
| 5 | ||||||
| 6 | ||||||
| B | ||||||
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 1 | ● | |||||
| 2 | ||||||
| 3 | ||||||
| 4 | ● | |||||
| 5 | ||||||
| 6 | ||||||
| C | ||||||
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 1 | ● | |||||
| 2 | ||||||
| 3 | ● | |||||
| 4 | ● | |||||
| 5 | ||||||
| 6 | ||||||
| D | ||||||
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 1 | ||||||
| 2 | ● | |||||
| 3 | ||||||
| 4 | ● | |||||
| 5 | ● | |||||
| 6 | ● | |||||
| E | ||||||
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 1 | ||||||
| 2 | ● | |||||
| 3 | ||||||
| 4 | ||||||
| 5 | ● | |||||
| 6 | ● | |||||
| A | ||||||
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 1 | ● | |||||
| 2 | ||||||
| 3 | ● | |||||
| 4 | ● | |||||
| 5 | ||||||
| 6 | ||||||
| B | ||||||
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 1 | ● | |||||
| 2 | ||||||
| 3 | ● | |||||
| 4 | ● | |||||
| 5 | ||||||
| 6 | ||||||
| C | ||||||
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 1 | ● | |||||
| 2 | ||||||
| 3 | ● | |||||
| 4 | ● | |||||
| 5 | ||||||
| 6 | ||||||
| D | ||||||
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 1 | ||||||
| 2 | ● | |||||
| 3 | ||||||
| 4 | ● | |||||
| 5 | ● | |||||
| 6 | ● | |||||
| E | ||||||
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 1 | ||||||
| 2 | ● | |||||
| 3 | ||||||
| 4 | ||||||
| 5 | ● | |||||
| 6 | ● | |||||
| A | ||||||
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 1 | ● | |||||
| 2 | ||||||
| 3 | ● | |||||
| 4 | ● | |||||
| 5 | ||||||
| 6 | ||||||
| B | ||||||
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 1 | ● | |||||
| 2 | ||||||
| 3 | ● | |||||
| 4 | ● | |||||
| 5 | ||||||
| 6 | ||||||
| C | ||||||
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 1 | ● | |||||
| 2 | ||||||
| 3 | ● | |||||
| 4 | ● | |||||
| 5 | ||||||
| 6 | ||||||
| D | ||||||
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 1 | ||||||
| 2 | ● | |||||
| 3 | ||||||
| 4 | ● | |||||
| 5 | ● | |||||
| 6 | ● | |||||
| E | ||||||
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 1 | ||||||
| 2 | ● | |||||
| 3 | ||||||
| 4 | ||||||
| 5 | ● | |||||
| 6 | ● | |||||
| A | ||||||
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 1 | ● | ● | ||||
| 2 | ||||||
| 3 | ● | |||||
| 4 | ● | |||||
| 5 | ||||||
| 6 | ||||||
| B | ||||||
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 1 | ● | ● | ||||
| 2 | ||||||
| 3 | ● | |||||
| 4 | ● | |||||
| 5 | ||||||
| 6 | ||||||
| C | ||||||
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 1 | ● | |||||
| 2 | ||||||
| 3 | ● | |||||
| 4 | ● | |||||
| 5 | ||||||
| 6 | ||||||
| D | ||||||
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 1 | ||||||
| 2 | ● | |||||
| 3 | ||||||
| 4 | ● | |||||
| 5 | ● | |||||
| 6 | ● | |||||
| E | ||||||
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 1 | ||||||
| 2 | ● | |||||
| 3 | ||||||
| 4 | ||||||
| 5 | ● | |||||
| 6 | ● | |||||