Алгоритм Кока-Янгера-Касами разбора грамматики в НФХ — различия между версиями
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 | ● |