четверг, 23 апреля 2009 г.

SEO GEN некоторые особенности

Если у нас более сложный синтаксис, чем одноуровневый чисто вариационный возникает два пути как “брать” такие конструкции: Первый из них - препроцессорный. Смысл его - мы сводим синтаксис к одноуровневом вариационному.

Например, 0 {1{a|b}|2} 3 сводим к 0 {1a|1b|2} 3. Преимущества:

  • Быстрее - один раз свели, запомнили - все остальное просто компоновка результатов.
  • Свобода - с одноуровневым вариационным синтаксисом можно делать все что угодно. Можно сделать практически любой метод перебора. Все кроме одного вида переборов - препроцессорные.
  • Равноправие - все варианты одной и той же замены равноправные: 0 {1{a|b}|2} 3: 1a, 1b и 2 имеют одинаковые шансы “выпасть”.
  • Согласованность - следует из равноправия 0 {1{a|b}|2} 3: это тоже самое, что 0 {1a|1b|2} 3
  • Промежуточный результат - Если вам нужно выдавать результат с помощью скрипта, то вы сможете с экономить место - и скопировать не результат, а одноуровневый синтаксис, которой по желанию выдает программа. Также с помощью результата препроцессинга можно отлавливать ошибки в генерации.

Единственный недостаток метода в том, что не всегда при ограниченной памяти можно взять препроцессором текст. Если в одной конструкции есть {{1|2|3|4|5|6|7|8|9|10} {1|2|3|4|5|6|7|8|9|10} {1|2|3|4|5|6|7|8|9|10} {1|2|3|4|5|6|7|8|9|10} {1|2|3|4|5|6|7|8|9|10} {1|2|3|4|5|6|7|8|9|10} |}то число вариантов в ней 10*10*10*10*10*10+1 = 1000001,НАЧАЛО {{1|2|3|4|5|6|7|8|9|10} {1|2|3|4|5|6|7|8|9|10} {1|2|3|4|5|6|7|8|9|10} {1|2|3|4|5|6|7|8|9|10} {1|2|3|4|5|6|7|8|9|10} {1|2|3|4|5|6|7|8|9|10} {1|2|3|4|5|6|7|8|9|10} {1|2|3|4|5|6|7|8|9|10} {1|2|3|4|5|6|7|8|9|10} {1|2|3|4|5|6|7|8|9|10} {1|2|3|4|5|6|7|8|9|10} {1|2|3|4|5|6|7|8|9|10}|} КОНЕЦв этой конструкции число вариантов будет равно 1 000 000 000 001, если использовать переборы, то можно намного легче создать такое же число вариантов. Для наглядности заменим {1|2|3|4|5|6|7|8|9|10} на {0|1|2|3|4|5|6|7|8|9} Что мы получим в итоге: Что конструкция преобразуется в “НАЧАЛО {000000000000|000000000001|000000000002|000000000003| …. | 000000000010|000000000011|…|99999999999|} КОНЕЦ”Т.Е. Для хранения всей этой фигни понадобиться 1 000 000 000 000*12 байт. А такой памятью не обладают современные ПК.Другой метод - вариационный взрыв, поскольку в нем нет препроцессора может взять практически любую конструкцию.




Полировка автомобиля стоимость