Дослідження методів оптимізації розташування посилань на інформаційні ресурси у мережевих пошукових системах та розробка програмного забезпечення

 














Пояснювальна записка

до дипломної роботи

Дослідження методів оптимізації розташування посилань на інформаційні ресурси у мережевих пошукових системах та розробка програмного забезпечення


Вступ


Актуальність роботи полягає в тому що з розвитком глобальної мережі Інтернет і зростанням кількості документів, розміщених в ній, виникла проблема пошуку інформації. На сьогоднішній день в більшості випадків її вирішують пошукові системи, які визначають список документів, відповідних (релевантних) запиту користувача. Таких документів можуть бути мільйони, і завдання пошукової системи - розташувати знайдені документи в порядку убування релевантності. Процес упорядкування документів називається ранжируванням.

Релевантність визначається на основі властивостей як документа, так і запиту користувача. Ці властивості називаються факторами ранжирування, число їх може досягати декількох сотень. Кожний з факторів вносить свій внесок у формулу ранжирування, яка у відповідь на запит користувача визначає порядок документів в результатах пошуку. Серед цих факторів можуть бути, наприклад, наявність слів запиту користувача в заголовку і тексті документа, географія користувача і безліч інших.

Зростання обсягів інформації, індексований пошуковими системами, породжує постійний розвиток алгоритмів. За останні кілька років реалізовано безліч нововведень. Наприклад, пошукові системи навчилися визначати першоджерело документа (для виключення з результату пошуку дублікатів), реалізували пошук з урахуванням регіону користувача і багато іншого.

Дослідження роботи пошукових систем і питання підвищення релевантністю документів запитам користувачів проводилися В. Д. Байковим, Д.Н. Колісниченко, Н.В. Євдокимовим, І.С.Ашмановим, А.А. Івановим, А.А. Яковлєвим та іншими авторами. У них розглядалися фактори, що впливають на ранжирування в пошукових системах. Формули ранжирування пошукових систем зазнали значних змін за останні 2-3 роки, і результати робіт перерахованих вище авторів неактуальні.

Оскільки використання пошукових систем зростає і залишиться таким в осяжному майбутньому, проведені в дисертації дослідження є актуальними і мають важливе практичне значення, оскільки дозволяють збільшити відвідуваність ФСІОР шляхом підвищення видимості по цільових запитах в пошукових системах.

Мета та задачі роботи

Метою роботи є дослідження методів оптимізації розташування посиланнь на інформаційні ресу рсах у мережевих пошукових системах

В якості досліджуваних пошукових систем, для яких проводилася оптимізація, були обрані найбільш популярні та прогресивні Яндекс (www.yandex.ru) і Google (www.google.ru). Дослідження інших відомих пошукових систем Рунет неактуально: Aport (www.aport.ru) - розвиток припинено в середині 2000-х років, Rambler (www.rambler.ru) - розвиток також зупинено, розглядається використання пошуку від Google. Портал Мейл.ру (www.mail.ru) є в першу чергу розважальним порталом і поштовим сервісом, пошукова система якого вторинна, і трафік з Мейл.ру для ФСІОР становить менше 3%.

Обєктом дослідження є дослідженно оптимізації розташування посиланнь на інформаційні ресурсах у мережевих пошукових системах за допомогою спеціальних вірно обраних ключових слів,опис пошукових систем(Яндекс,Google,Рунет), підвищення трафіку, графи станів рейтингом сайту, віді станів, ймовірності станів розробка математичної моделі.

*Предметом дослідження є оптимізація розташування посиланнь на інформаційні ресурсах у мережевих пошукових системах.

Для досягнення мети необхідно вирішення наступних завдань:

- Проведено аналіз сучасних пошукових систем, що використовуються в російському сегменті мережі Інтернет;

Розроблено систему чинників, що у формулах ранжирування пошукових систем;

Розроблено метод пошукової оптимізації, проведена пошукова

оптимізація Єдиної колекції цифрових освітніх ресурсів та проаналізовано її результати.

На захист виносяться:

- Результати аналізу сучасних пошукових систем;

Складання семантичного ядра;

Метод пошукової оптимізації;

Реалізація методу пошукової оптимізації для освітнього порталу

Єдиної колекції цифрових освітніх ресурсів.

Наукова новизна

Наукова новизна одержаних результатів полягає у наступному:

Розробці системи чинників, що у формулах ранжування пошукових систем;

Формуванні семантичного ядра;

Розробці методу пошукової оптимізації.

Практична цінність

Практична цінність результатів в тому, що застосування розробленого методу пошукової оптимізації дозволяє підвищувати відвідуваність інтернет-ресурсів по цільових запитах.

Апробація роботи

Основні положення та результати роботи докладалися на студентській науково-технічній конференції кафедри компютерних наук Східноукраїнського національного університету імені Владимира Даля у квітні 2013 року.

Структура та обсяг

Магістерська робота складається з вступу, п'яти розділів, списку літератури, лістингу программи та додаткок слайди магістерської роботи


1. Аналіз пошукової системи сайту методи пошуку інформації у мережі інтернет


.1 Загальні вимоги при застосування пошукових систем


На сьогоднішній день" всесвітнє павутиння" включає декілька десятків (по різним оцінкам - від 50 до 80) мільйонів серверів, на кожному з яких доступно від декількох мегабайт до десятків гігабайт інформації. Як уже відзначалося, для пошуку незліченної інформації в Інтернеті на допомогу приходять тематичні та індексні пошукові системи.

Типовий приклад тематичного каталогу - пошукова система Yahoo (#"justify">Існує більш зручний і ефективний засіб пошуку необхідних відомостей. Це так звані індексні пошукові системи (пошукові механізми - search engines). Основою їх є спеціалізовані комп'ютери, що періодичні проводять індексацію документів на серверах "всесвітнього павутиння", і дозволяють шукати інформацію на цих серверах за одним або кількома ключовими словами і, можливо, за деякими додатковими ознаками.

До кінця 1997 г. в мережі Інтернет налічувалося близько двох тисяч різноманітних пошукових серверів, які відрізняються один від одного типом, спеціалізацією, сферою охоплення (кількістю індексованих сторінок) і популярністю. Більша частина цих серверів має порівняно вузьку спеціалізацію - наприклад, пошук музики в форматі МР3 або пошук інформації на серверах у галузі молекулярної хімії. Існує декілька надзвичайно популярних універсальних пошукових серверів, призначених для пошуку за ключовими словами на якомога більшому числі сторінок системи WWW. Найбільш відомими є сервери AltaVista (#"justify">Принцип дії більшості таких серверів простий (заняття 9). Для пошуку інформації використовується індекс, створений спеціальною програмою-роботом. Програма-робот періодично обходить відомі їй адреси мережі, зчитує з них сторінки, що зберігаються WWW, індексує всі слова з усіх сторінок (разом з адресами URL) і розміщує їх в загальний індекс. Для зберігання цього індексу потрібен величезний обсяг пам'яті, а для його обробки - чимала обчислювальна потужність. Наприклад, основний механізм одного з найпотужніших пошукових серверів AltaVista (повного індексу, що претендує на всю мережу Інтернет), включає 16 потужних комп'ютерів Alpha Server 8400 5/440. На кожному з цих комп'ютерів встановлено по 12 центральних процесорів, 8 гігабайт оперативної пам'яті (обсяг, еквівалентний обсягу пам'яті 500 стандартних сучасних персональних комп'ютерів) і дисковий масив RAID ємкістю 300 гігабайт. Вся ця система з'єднана з магістральною мережею Інтернет каналом зв'язку з пропускною спроможністю 100 Мбіт/с. Загальний обсяг на сервері індексних файлів, що зберігаються, в яких виробляється пошук, - понад 200 гігабайт.

Ще одна категорія пошукових серверів - так звані "метапошукові" сервери (метасервери). Найбільш відомий з них - WebCrawler (#"justify">Пошукова система - це програмно-апаратний комплекс, призначений для здійснення пошуку в мережі Інтернет та реагує на запит користувача, що задається у вигляді текстової фрази (пошукового запиту), видачею списку посилань на джерела інформації, в порядку релевантності (відповідно запитом). Найбільш великі міжнародні пошукові системи: «Google», «Yahoo», «MSN». У російськомовному сегменты Інтернет це - «Яндекс», «Рамблер», «Апорт».

Аналогічно, пошукова машина складається з двох частин: так званого робота (або павука), який обходить сервери Мережі та формує базу даних пошукового механізму.

База робота в основному формується ним самим (робот сам знаходить посилання на нові ресурси) і в набагато меншому ступені - власниками ресурсів, які реєструють свої сайти в пошуковій машині. Крім робота (мережевого агента, павука, черв'яка), формуючого базу даних, існує програма, що визначає рейтинг знайдених посилань.

Принцип роботи пошукової машини зводиться до того, що вона опитує свій внутрішній каталог (базу даних) за ключовими словами, які користувач вказує в поле запиту, і видає список посилань, ранжируваних за релевантністю.

Слід зазначити, що, відпрацьовуючи конкретний запит користувача, пошукова система оперує саме внутрішніми ресурсами (а не пускається в подорож по Мережі, як часто вважають недосвідчені користувачі), а внутрішні ресурси, природно, обмежені. Незважаючи на те що база даних пошукової машини постійно оновлюється, пошукова машина не може проіндексувати всі Web-документи: їх число занадто велике. Тому завжди існує ймовірність, що шуканий ресурс просто невідомий конкретної пошукової системи.

Основні характеристики пошукових систем:

повнота

Повнота - одна з основних характеристик, що представляє собою ставлення знайдених пошуковою системою документів до загального числа документів в Інтернет, релевантних запиту. Припустимо, фраза «українська освіта »зустрічається 1000 разів у різних документах мережі Інтернет, а при запиті цієї фрази в пошуковій системі знайдено 700 документів - тоді повнота пошуку складає 0.7. Чим більше повнота, тим більше шансів у користувача знайти шукану інформацію, за умови, що такий документ взагалі існує в мережі.

точність

Точність - ще одна з найважливіших характеристик пошукової системи, яка визначає ступінь відповідності знайдених документів запитом користувача Пристрій пошукової системи Кожна велика пошукова система має свою власну архітектуру, але для всіх них можна виділити загальні компоненти.

Павук - програма, призначена для пошуку нових документів уІнтернеті. Павук передає запит на сервер, де розташований веб-сайт дляотримання документа, а у відповідь отримує безпосередньо сам документ і службову інформацію. З документа витягуються всі гіперпосилання, по яким відправляються аналогічні запити. Таким чином, переходячи по гіперпосиланнями, павук збирає інформацію про всі документи, розташованих в мережі. Існують також альтернативні способи «Запрошення» павука на веб-сайт - кожна пошукова система має форму для додавання нового документа або цілого веб-сайту. Крім завдання переходу за гіперпосиланнями для знаходження всіх документів мережі Інтернет, обов'язки павука входить складання розкладу обходу знайдених ранішедокументів на предмет змін. Для кожного веб-сайту розклад складається індивідуально, і, у загальних рисах, якнайшвидше повернення павука тим імовірніше, чим частіше на веб-сайті з'являються нові, унікальні документи, а також чим частіше цитують даний веб-сайт в мережі Інтернет (З'являються гіперпосилання на його документи).

Робот-індексатор відповідає за збереження документів, знайдених павуком. Перед відправкою запиту на сервер для отримання документа робот індексатор запитує вміст файлу robots.txt, якщо такий існує в кореневій директорії веб-сайту. Robots.txt - файл обмеження доступу роботам до вмісту веб-сайту. Існує стандарт винятків для роботів, використання якого добровільно, але більшість сучасних пошукових систем йому слідують. У разі, якщо документ дозволений для скачування, робот-індексатор становить зворотний (Інвертований) файл і зберігає його в базі даних. Інвертований файл у найпростішому випадку являє собою структуру, що складається з двох частин:

Списку, що містить всі слова, які були знайдені у всіх документах;

Покажчики на всі документи, а точніше - місця в цих документах, в яких міститься кожне слово.

З цієї структурі надалі і відбувається пошук при запиті користувача до пошукової системи, а сама структура називається її індексом.

Аналогічною структурою володіє «швидка» база, документи для якої індексує т.зв. «Швидкоробот». У неї, як правило, потрапляють документи новинних сайтів, блогів, а також документи багатьох щодня поповнюваних веб-сайтів. Варто відзначити, що документи збережені роботом-индексатором в основній базі, не відразу беруть участь у результатах пошуку, на відміну від документів у швидкій базі, які можуть з'являтися в результатах пошуку відразу після індексації «швидкороботом». Оновлення пошукової бази відбувається 1-2 рази на тиждень.

Обхід документів веб-сайту павуком не гарантує, що робот- індексатор збереже документ у пошуковому індексі. Якщо веб-сайт містить безліч неунікальним інформації, містить віруси, спливаючі рекламні вікна (т.зв. pop-up тощо) або використовує у своїх документах різні види спаму для обману пошукової системи, такі документи можуть ніколи не потрапити в пошуковий індекс, але робот-індексатор буде періодично відвідувати їх для перевірки усунення порушень.

Модуль пошуку відповідає за аналіз запиту користувача, пошуку за інвертованою базі, ранжування та подання документів користувачеві. При пошуку першим справою аналізується запит, введений користувачем. Часто користувачі вводять «довгі» запити, що складаються з 3 і більше слів, і виникає ситуація, коли точного збігу з запитом до індексі пошукової системи немає. У цьому випадку на допомогу приходить переформулировка запиту. У Яндекс за це відповідає т.зв. «Чаклунчик». Переформулировка - це перепроцессінг, в результаті якого різні запити перетворяться по-різному, і пошук в індексі здійснюється за новому, уточненого запитом. У результаті замість «нічого не знайдено» користувач отримує в достатній мірі релевантний відповідь. до кінця 2007 року в Яндекс можна було побачити переформулювати запит.

Наприклад, у той час відкидалися частинки, прийменники, змінювалися словоформи, рідко вживаним словами в багатослівних запитах віддавалася меншу перевагу, а потім здійснювався пошук. У Нині точних даних про те, як саме працює «чаклунчик», немає. Після переформулювання запиту здійснюється пошук по індексному базі, і знаходяться всі документи, що задовольняють вже новому запитом.

Після того, як найбільш схожі документи були відібрані, їх необхідно впорядкувати за релевантністю (виконати ранжування). За цей процес відповідає формула ранжирування, яку зазвичай і називають алгоритмом пошукової системи. Формула ранжирування містить безліч факторів, які впливають на релевантність документа запиту; для різних пошукових систем ці множини різні.При спілкуванні з веб-майстрами, а також менеджерами онлайн-проектів, я часто стикаюся з думкою, що посилання грають велику роль в SEO[2].

Їм надають настільки велике значення, що робота seo-фахівця представляється людям як вишукування методів розстановки посилань на сайт, вмінню написати анкор і підібрати донори, або що гірше, цікавить правильний вибір автоматизованої біржі купівлі посилань або посилального агрегатора. Відповідно, сеошників при зустрічі один з одним, найчастіше цікавлять питання, хто як розбавляє анкор, де купують якісні посилання і який дотримуються стратегії закупівлі. Багато клієнтів seo-послуг представляють розподіл часу роботи спеціаліста з просування проекту приблизно в наступному співвідношенні:


Рис. 1.1. Думка клієнта про роботу seo-фахівця


В аналогічних пропорціях вони представляють і розподіл свого бюджету (витраченого на оплату роботи фахівця і купівлю посилань). Ідеальний грунт для росту і розвитку автоматизованих систем, чи не так?

Насправді ж, добрий seo-спеціаліст (з досвідом роботи) виконує різноманітні завдання, більшість з яких пов'язане з аналітикою. Давайте розглянемо, що входить в роботу спецылыста-сеошника?

На числовій осі відображено приблизну кількість витрачається часу в годинах на той чи інший вид роботи. Залежно від масштабності проекту, ці цифри можуть варіюватися (також, деякі види робіт є періодичними), тут відображені середні значення за весь цикл роботи з проектом[3].


1.2 Пошукові системи Рунет


У 1996 році в Рунет з'явилися пошукові системи Апорт rwww.aport.ru) і Рамблер (www.rambler.ru). 23 вересня 1997 був відкритий Яндекс (www.yandex.ru), восени 1997 року в США для студентів і викладачів стала доступною пошукова система Google (www.google.com). У зв'язку з бурхливим зростанням Рунет і обсягів інформації, індексованою пошуковими системами, необхідно володіти потужними дата-центрами для відповідності сучасним реаліям.


Рис 1.2 Види праці SEO-фахівця

Одним з критеріїв якості пошуку і, відповідно, позитивного іміджу, перспективності пошукової системи є частота оновлення пошукового індексу, яке також вимагає значних потужностей. За останні десятиліття більшою мірою Апорт, і трохи менше Рамблер перетворилися на каталог сайтів - тобто рідко змінюваний список документів, т.к. поновлення пошукової бази відбуваються вкрай рідко (для Рамблер 1 раз в 2 місяці, Апорт - і того рідше). Яндекс пройшов шлях від єдиного сервера, встановленого під столом одного з розробників Дмитра Тейбшома, до розгалуженої незалежної мережі дата-центрів, яка включає в себе тисячі серверів. Кожен день в цю мережу додається по нескольку нових. Пошукова система Google також пройшла шлях від одного сервера до величезного розподіленому дата-центру, включающему на сьогоднішній день понад 100 тисяч серверів. Google - найпопулярніша пошукова система в світі, яка здійснює пошук і по Рунет (www, google.ru). На сьогоднішній день в Росії найбільш затребувані, актуальні й перспективні лише дві пошукові системи - Яндекс і Google, які і розглядаються в даній роботі.

Как привлекти цельових відвідувачей?

Людина користується пошукачами, щоб знайти потрібну інформацію, відшукати і придбати якийсь продукт (товар, послугу, ідею), а часом, щоб просто полазити по сайтах, в розрахунку наткнутися на що-небудь корисне або цікаве.У принципі, більшість з них можуть бути потенційними клієнтами нема кого сайту і здатні перетворитися на клієнтів реальних. Але охопити відразу весь ринок не представляється можливим.Маркетологи давно вивели правило - треба визначити цільову групу впливу і зосередити зусилля на роботі з нею, а не витрачати час, сили і кошти на відсів одного зерна з тонни лушпиння. Питання про цільову аудиторію гостро стоїть і при складанні текстового контенту[5].

Від того, наскільки вірно будуть визначені ознаки групи впливу і реалізована стратегія охоплення, залежатиме і кількість відвідувачів, і їх конверсійна здатність, і адекватність сприйняття інформації.

Тільки чіткість всіх дій дасть відчутний ефект. Орієнтація на цільовий сегмент дуже вигідна, оскільки забезпечує більш індивідуальний підхід і відповідно підвищену віддачу від вкладених коштів. У оптимізаційному секторі маркетингове дослідження допомагає залучити цільову аудиторію, а в конверсійному і іміджевому - дає зрозуміти, як саме скласти текст, щоб ця аудиторія з простих відвідувачів перетворилася на споживачів і шанувальників.

Людина заходить в магазин. Він має засоби і має намір придбати товар, але ще придивляється, коливається, вирішуючи в розумі складну задачу. Купити тут або пошукати ще? Може, вибрати іншу модель? Придбати зараз або почекати? Реалізація бажання залежить від безлічі факторів, і навіть цільової відвідувач аж ніяк не завжди здійснює купівлю тут же.Перш ніж зробити відповідальний крок назустріч своїм бажанням, людина збирає інформацію. Йому важливі відомості про компанію, про особливості пропонованих товарів, він читає тематичні статті і поради фахівців. У магазинах ці дані надаються кваліфікованими продавцями-консультантами, на сайтах - контентом. Але однією інформації мало, потрібно спонукання до дії. Цільовий відвідувач, як правило, вже в тій чи іншій мірі налаштований на прийняття пропозиції сайту - саме тому він набирав шукане ключове слово і заходив на цей сайт за посиланням. Його залишається тільки підштовхнути, але при цьому підштовхнути до такої дії, яке було б вигідно даного ресурсу. Адже потрібно, щоб людина купила товар саме в цьому магазині, а не пішов купувати його в іншу торгову точку, довідавшись всі переваги продукту.Важливо пам'ятати, що для високої конверсії відвідувачу потрібно не просто детальний опис пропозицій сайту, а ясна і чітка аргументація на користь цього вибору. Відвідувач повинен відчути власну вигоду від споживання продукту, відчути всі його достоїнства стосовно себе при тому, що вигода ця доступна лише на даному сайті. За своїм впливом SEO-тексти можна розділити на інформаційні, рекламні та агітаційні (піар, іміджеві). Таке розбиття дуже умовно, оскільки всі ці компоненти присутні в хорошому контенті, але в різній пропорції. Грамотний SEO-текст стає поштовхом для прийняття рішення про купівлю, чинником, що схиляє чашу терезів на користь певного бренду. Текст інформує, переконує, веде до певних висновків. Він впливає на декількох рівнях - логічному, емоційному, підсвідомому. Не можна сказати, що текст є основною спонукальною причиною деякого дії, але важливість хороших текстів складно переоцінити, як і важливість хорошої реклами. Інформаційно-логічна складова текстового контенту дозволяє забезпечити читача всіма необхідними даними по шуканої теми, розповісти про діяльність компанії, про переваги товару і способах його використання. Автор сайту видає саме ту інформацію і в такій послідовності, яка представляється йому найбільш вигідною. Читач аргументовано переконується в необхідності прийняти пропозицію саме цього ресурсу, у його корисності та унікальності. Емоційний вплив проявляється у створенні мовними засобами позитивного настрою читача, яке проектується на сам сайт і його пропозицію і сприяє реалізації поставленої мети, тобто перетворення відвідувача в споживача. Переконання на основі фактів і логіки в хорошому тексті підкріплюється підсвідомим впливом, яке формує неусвідомлену тягу до скоєння нема кого дії, прийняттю рішення. Добрий SEO-текст вселяє читачеві думку, вигідну автору ресурсу.

«Чорна» «Сіра» та «біла» пошукова оптимізація.

«Білої» пошуковою оптимізацією, як правило, називають стратегії і тактики, які узгоджуються з політикою пошукових систем, яка за замовчуванням увазі надання онлайн-користувачам «релевантного контенту». «Чорна» пошукова оптимізація відноситься до тактики, які ігнорують загальноприйняті домовленості етичної поведінки в мережі з метою досягнення своїх цілей або комерційних інтересів. Перевага правил пошукових систем перед іншими інтересами випливає з домінуючого положення пошуковиків, які знаходяться в середині процесу збору даних про веб-сторінці і їх передачі користувачам. Таке упереджене положення підтримується завдяки олігополії основних пошукових систем, невелика кількість яких обробляє більшість пошукових запитів, у той час як за більш високі місця в результатах запитів змагаються мільйони сайтів.З «чорної» пошуковою оптимізацією зазвичай пов'язують технічно складні тактики, а з «білою» - концентрування зусиль на якісному контенті. Однак тут є істотна накладка; небагато тактики, а може і взагалі ніякі, можуть бути однозначно класифіковані як погані або хороші. З точки зору користувача головним критерієм легітимності оптимізації є те, чи буде даний результат запиту відповідати його інтересам, в незалежності від того, яким чином досягнуті високі позиції. Більшість досвідчених професіоналів пошукової оптимізації вирішальним чинником все ж вважають умисел. Як правило, методи пошукової оптимізації, що вважаються «чорними», дають більш високі позиції документів швидше, в той час як ті, які вважаються "білими", сприяють створенню більш «живучого» рейтингу. Вибір того чи іншого підходу не є виключно справою особистої переваги фахівця з пошукової оптимізації, а ще залежить і від бізнес-моделі. Сайтам або сторінкам, що рекламує товари та послуги з коротким часом життя, підходять «чорні» методи, оскільки вони не втрачають від того, що «згорають», тобто привертають увагу адміністраторів пошукових систем, внаслідок чого повністю виключаються з пошукових індексів. (Це траплялося навіть з сайтами організацій-довгожителів, таких як автовиробники, коли їх консультанти з пошукової оптимізації діяли з надмірною ретельністю). "Сіра" оптимізація включає в себе методи, які офіційно не заборонені пошуковими системами, але їх використання може бути розцінене як неприроднє підвищення популярності сайту. Це збільшення к-сті ключових слів на сторінку, вставляння ключових слів в html-тег title, надмірне виділення ключових слів тегом h1. До сірої оптимізації також відносять створення дорвеїв без автоматичного редіректу (перенаправлення) відвідувачів на цільовий сайт. «Біла» пошукова оптимізація більше підходить сайтам, які пропонують продукти з довгим життєвим циклом. Воно також підходить академічним або державних сайтів, на яких, швидше за все, робота буде проводитися послідовно десятиліттями - такі сайти часто отримують високі і стійкі рейтинги на сторінках пошукових запитів просто завдяки тому, що публікують високоякісний контент певної тематики[6].


1.3 Пошукова система Яндекс

інформаційний програмний мережевий сайт

Пошукова система Яндекс індексує і здійснює пошук подальшим форматам документів: HTML, PDF, RTF, DOC, XLS. Варто також зазначити паралельний пошук Яндекс, який полягає в одночасному пошуку по основній базі та з інших сервісів. У них входять новини, картинки, відео, блоги, карти і маркет (платні рекламні оголошення). Результати паралельного пошуку можуть розташовуватися над результатами основного пошуку, праворуч від них і навіть всередині. Пошукова система Яндекс має не один, а цілу групу індексуючих роботів (табл. 1.1). Розпізнати їх молено через лог-файли веб-сервера по полю Useragent, IP-адреси роботів постійно змінюються, і здійснювати ідентифікацію по них недоцільно.


Таблиця 1.1. Індексуючі роботи системи Яндекс

User-agentНазваMozilla/5.0(compatible;YandexBot/3.0)основний індексуючий роботMozilla/5.0 (compatible;YandexBot/3.0; MirrorDetector)Poбoт, визначающий дзеркала сайтівMozilla/5.0(compatible;YandexImages/3.0)індексатор Яндекс ЗображеньMozilla/5.0 (compatible;YandexVideo/3.0)індексатор Яндекс.ВідеоMozilla/5.0 (compatible;YandexMedia/3.0)робот, що індексує мультимедійні даніMozilla/5.0 (compatible;YandexBlogs/0.99; robot)робот пошуку по блогах, індексуючий коментарі постівMozilla/5.0(compatible;YandexAddurl/2.0)робот, який звертається до сторінці при додаванні її через форму «Додати URL»Mozilla/5.0(compatible;YandexFavicons/1.0)робот, що індексує піктограми сайтів (favicons)Mozilla/5.0 (compatible; YandexDirect/3.0)робот, що індексує сторінки сайтів, що беруть участь у Рекламної мережі ЯндексаMozilla/5.0 (compatible; YandexDirect/2.0; Dyatel)«Простуківалка» Яндекс.ДиректаMozilla/5.0 (compatible;YandexMetrika/2.0)робот Яндекс.МетрикиMozilla/5.0 (compatible; YandexCatalog/3.0; Dyatel)«Простуківалка» Яндекс. КаталогуMozilla/5.0 (compatible; YandexNews/3.0)

Основний індексуючий робот - індексує основний обсяг текстової інформації, розміщеної в мережі. Індексує HTML, а також інші типи документів, що містять текстові дані.

Робот, що визначає дзеркала сайтів, - т.н. «Дзеркальщик», визначає дзеркала веб-сайтів, у тому числі і як відображати веб-сайт, з «www» або без (наприклад, #"justify">Індексатор Яндекс.Зображень - відповідає за індексацію картинок вІнтернет. Індексує всі популярні формати картинок. Алдейт відбувається в середньому раз на тиждень, іноді частіше.

Індексатор Яндекс.Відео - відповідає за пошук відео. Ранжування здійснює за рахунок аналізу тексту, навколишнього файл з відео на сторінці, а також популярністю ролика в блогах і т.д.

Робот, що індексує мультимедійні дані - індексує документи у форматі Adobe Flash (flv-файли)[7].

Робот пошуку по блогах, що індексує коментарі постів - спеціальний робот, що індексує пости в блогах. Як правило, самі записи в блогах після опублікування практично ніколи не змінюються, у відміну від списку коментарів, який постійно зростає. Мабуть, для того щоб не навантажувати основного індексуючему робота, і був створений розглянутий. Блоги, як правило, мають обмежений список «Движків» - платформ, на яких вони побудовані, і з визначенням, чи є конкретний сайт блогом, проблеми не виникає.

Робот, який звертається до сторінки при додаванні її через форму

«Додати URL» (#"justify">Робот, що індексує піктограми сайтів (favicons) - робот, індексуючий піктограми веб-сайтів, які потім відображаються поруч з посиланням у результатах пошуку.

Робот, що індексує сторінки сайтів, що беруть участь у Рекламній мережі Яндекса - робот, що індексує веб-сайти на яких показуються рекламні оголошення Яндекс (Яндекс.Директ).

«Простутвалка» Яндекс.Директа - робот, перевіряючий працездатність веб-сайтів, що розміщують на своїх сторінках рекламні оголошення Яндекс. Директ, а також веб-сайти, рекламуються в ньому.

Робот Яндекс.Метрики - робот, перевіряючий працездатність сторінок, на яких встановлено код Яндекс.Метрики (дозволяє аналізувати поведінку відвідувача на веб-сайті).

«Простуківалка» Яндекс.Каталогу - робот, перевіряючий на працездатність веб-сайти, розміщені в Яндекс.

Індексатор Яндекс.Новостей - спеціальний робот, що індексує часто оновлювані новинні ресурси, які беруть участь в проекті Яндекс.Новини (#"justify">Робот мобільних сервісів - інформації про це роботе на офіційному блозі Яндекс немає, але, судячи з назви, цей робот індексує wap-сайти.

Крім перерахованих, у 2005 році Яндекс запустив «швидкий робот » (далі - швидкоробот), який працює одночасно з основним індексуються і призначений для оперативного виявлення і індексації актуальних сторінок. За словами представників Яндекс швидкий робот використовує якусь інформацію про затребувані користувачами документах і на підставі цього знаходить нові й змінені сторінки, роблячи їх доступними в результатах пошуку протягом короткого часу. Це час вимірюється в хвилинах, а сторінки, виявлені бистророботом, молено визначити в результатах пошуку за позначці, коли документ був проіндексований (рис 1.3).

Рис 1.3 Сторінки, знайдені швидко роботом Яндекс


Для того щоб швидко робот відвідував веб-сайт, достатньо додавати по 1 новому, унікальному документом щодня.

Результати роботи будь-якого з перерахованих вище роботів, за винятком швидко робота і індексатора Яндекс. Новин, можна побачити лише після оновлення пошукової бази (т.зв. «апдейта»). Як правило, апдейти в Яндекс відбуваються 1-2 рази на тиждень. На сьогоднішній день вони діляться на два типи: текстові та посилальні. У першому випадку в основну базу, за якою відбувається пошук, додаються нові сторінки. При цьому, природно, дані з бази швидко робота видаляються і переходять у основну базу. Т.к. в основній базі оновлюються змінені і з'являються нові документи, змінюється і кількість посилань на веб-сайти. Ці номери даному етапі не враховуються, тобто не дають внесок у ранжирування посилань. У контрольний апдейт відбувається облік знайдених раніше посилань, без додавання в основну базу нових документів.

Методика вибору пошукових систем

Яку пошукову систему треба вибрати, щоб знайти необхідну інформацію? Це залежить від того, що саме і як користувач збирається шукати. В цьому випадку можна запропонувати такі рекомендації.

Для перегляду всіх серверів за певною темою скористатися каталогом Yahoo або Magellan (#"justify">Для пошуку інформації на максимальній кількості серверів Інтернету скористатися AltaVista або InfoSeek[8].

Для знаходження повідомлень телеконференцій Usernet придатні AltaVista, InfoSeek або WebCrawler, а найкраще - спеціалізований сервер DejaNews (#"justify">Щоб знайти важкодоступний документ, можна скористатися AltaVista.

Для знаходження відомостей про конкретний товар або продукцію - HotBot.

Для отримання максимальної кількості результатів - InfoSeek, AltaVista або спеціальний метасервер, наприклад, WebCrawler.

Для знаходження інформації на відомому сервері, вже оціненому незалежними фахівцями, - Magellan або Yahoo.

Для пошуків інформації російською мовою - використати спеціальний розділ сервера AltaVista або сервер Ремблер (#"justify">Щоб знайти інформацію на сервері в одній з країн СНД, придатний пошуковий сервер Ремблер або каталог російських серверів за адресою #"justify">Підвищення ефективності пошуку інформаційних ресурсів Інтернету.

Як краще працювати з пошуковими системами Інтернету?

Передусім треба пам'ятати, що складання запитів на пошук інформації - це свого роду мистецтво. Ідеальний запит видасть користувачу посилання тільки на ті сторінки, що йому потрібні. Просто грамотний запит може видати користувачеві кілька десятків сторінок, пошук серед яких виявиться не таким уже й складним.

Користувачу слід мати на увазі, що жодна пошукова система не в стані повністю індексувати всі сторінки і документи на всіх серверах Інтернету. Кожний пошуковий сервер проводить відбір і індексування сторінок за своїми власними правилами.

В ефективному пошуку інформаційних ресурсів Інтернету допомагають декілька правил.

. Грамотне використання можливостей одного пошукового сервера може бути ефективніше, ніж звернення з тим самим запитом до великої кількості серверів.

Коли користувач вперше потрапляє на сторінки незнайомого пошукового сервера, слід в першу чергу прочитати його опис і правила користування, а також вивчити засоби і можливості пошуку. Однак не слід захоплюватися вивченням пошукових серверів; після деякої практики з'являються 2-3 улюблені сервери, що найповніше індексують сферу в Інтернеті, яка цікавить користувача.

. У запиті слід використовувати ті слова, що точніше за все характеризують тему, яка цікавить користувача.

Вибір слів може ґрунтуватися на двох різних підходах:

можна почати із загального запиту і поступово його конкретизувати, спостерігаючи за зміною результатів пошуку;

можна почати з конкретного запиту і поступово його поширювати, відштовхуючись від найбільш важливих і специфічних слів.

. Для більшості пошукових серверів має значення послідовність слів у запиті, тому найбільш важливі і характерні терміни треба розміщувати на початку запиту і додавати до них менш значущі терміни.

. Фрази і словосполучення слід брати в лапки, оскільки в противному разі вони будуть сприйняті пошуковим сервером просто як набір ключових слів.

. У запиті можна зазначати одне або кілька власних імен.

. Рекомендується вживати синоніми - їх використання дозволяє не тільки поширити діапазон пошуку, а й надає більше ваги власне смисловій частині запиту.

. Не рекомендується користуватися поширеними словами типу "комп'ютер", "інформація", "дані" тощо.

. Багато пошукових систем припускають можливість використання в запитах логічних операторів "І" (AND), "або" (OR), "не" (NOT). Їх грамотне використання дозволяє зробити пошук надзвичайно точним і направити його саме туди, куди потрібно.

. Якщо серед перших 20-30 посилань, отриманих від пошукового сервера, немає потрібного посилання, слід подумати про те, щоб радикально змінити набір ключових слів або скористатися іншим сервером.

. Слід пам'ятати, що WWW-сторінка, на яку користувач потрапляє при першому підключенні до пошукової системи, найчастіше являє собою спрощений бланк запиту на пошук інформації. Щоб отримати доступ до найбільш потужних засобів опису, треба перейти на сторінку ускладненого пошуку (Advanced Search).


1.4 Пошукова система Google


Пошукова система Google (#"justify">

Рис 1.4 Українська пошукова машина Google


Пошукова система Google може знаходити інформацію 101 мовою. Google наприкінці серпня 2004 року складалась з 132 тис. машин, розташованих в різних точках планети. Інтерфейс Google містить досить складну мову запитів, що дозволяє обмежити область пошуку окремими доменами, мовами, типами файлів тощо.

1.5 Ранжування сайтів пошуковими системами


Сутність ранжирування

Ранжування являє собою сортування (розстановку) сайтів у видачі пошукових систем, яка відбувається на основі найбільшого їх відповідності конкретним запитом. Процес ранжирування сайтів відбувається наступним чином:

·Пошукова система приймає запит від інтернет-користувача;

·Підбирає найбільш релевантні сторінки (документи) по даному запиту зі свого індексу;вибудовує сайти, що містять релевантні сторінки,

·по найбільшому відповідністю конкретним запитом - тобто ранжує їх.

Позиція сайту з того чи іншого пошуковому запиту залежить від алгоритму ранжирування пошукової системи. При цьому важливо враховувати позитивні і негативні фактори, які зможуть більш точно відобразити об'єктивні результати. Ранжування відбувається постійно, при кожному запиті користувача при зверненні до пошукової системи. При ранжируванні, розташування сайту на тій чи іншій позиції обумовлено багатьма факторами,які враховують пошукові машини. Згідно з тим, що різні пошукові машини, мають різні алгоритми роботи, то і ранжування сайтів в них буде виконуватися по різному. Кожна пошукова система має власний закритий набір факторів ранжирування і алгоритми їх обробки. При цьому йде постійне коректування алгоритму з метою поліпшення результатів видачі[10].

Тим не менш, аналітично встановлено ряд факторів, безумовно, роблять вплив на ранжирування сайтів пошуковими системами, як зовнішніх, так і внутрішніх.До внутрішніх факторів ранжирування, на які власник сайту може впливати самостійно, можна віднести:

·добре складені заголовки;

·правильно підібрані ключові фрази;

·грамотний (з точки зору SEO) текст;

·правильний код сторінки;

·заповнені мета-теги;

·правильна внутрішня перелінковка;

·вік домену;

·назва домену;

·зона домену;

·назви сторінок сайту;

·регіон сайту;

·оновлюваності сайту;

·кількість зовнішніх посилань сайту;

·і т.д.

До зовнішніх факторів ранжирування відносяться:

·ВІЦ сайту;

·pagerank сайту;

·trustrank сайту;

·pagerank сайтів, що посилаються;

·trustrank сайтів, що посилаються;

·ТІЦ сайтів, що посилаються;

·посилальна маса сайту;

·якоря посилань;

·наявність в трастових каталогах;

·і т.д.


Рис. 1.5 Еволюція факторів ранжирування пошукових систем


Внутрішні чинники ранжирування

Добре складені заголовки. Title є найважливішим елементом сторінки з точки зору пошукової оптимізації. Грамотно скласти тег заголовка досить важке завдання, адже необхідно дотримати баланс між наповненням його ключовими словами і збереженням читабельності, адже саме він буде відображатися користувачу в результатах пошуку, та до того ж ще допустима довжина складає всього 68 символів, включаючи пробіли (це означає, що заголовки більшої довгі не будуть індексуватися далі 68-го символу).

Правильно підібрані ключові фрази. Дуже важливим чинником є правильне складання семантичного ядра сайту (ключових слів). Це є найважливішим кроком в оптимізації сайту, адже грамотно підібрані ключові фрази дозволять потрапити на хороші позиції у видачі навіть у дуже конкурентних областях. Грамотний (з точки зору SEO) текст. Текст повинен обов'язково мати включення ключових слів, тегів емоційного виділення (<strong> і <em>), але важливо дотримати тонкий баланс між нестачею і перенасиченістю, адже по обидві сторони лежать небезпеки, з одного - не релевантність, а з іншого - санкції за пошуковий спам.

Правильний код сторінки. HTML і CSS коди сторінок повинні бути валидни. Код повинен бути правильним з точки зору SEO (заповнені атрибути alt і title тегів img, найбільш важлива інформація якомога вище на сторінці і т.д.)[11].

Заповнені мета-теги. Багато хто вже не звертають уваги на теги опису сторінки description і keywords, хоча при грамотному складанні вони можуть вплинути на пошукову видачу.Правильна внутрішня перелінковка. Текст сторінки повинен бути не просто текстом, а саме гіпертекстом, складеним за канонами SEO.Вік домену. Прямим чином впливає на ранжирування сайтів.

Назва домену. Ключове слово в назві домену дозволяє збільшити релевантність просуває сторінки.Зона домену. Робить деякий вплив на індексацію сайтівНазви сторінок сайту. Ключове слово, використане в назві сторінки сайту, дозволяє отримати певний бонус релевантністю продвигаемому запитом.Регіон сайту. Впливає на видачу. У різних регіонах різні результати пошуку.

Зовнішні чинники ранжирування

ВІЦ сайту. Зважений індекс цитування - показник авторитетності ресурсу для Yandex.Pagerank сайту. Ранг Пейджа (один з творців алгоритму Google) - показник ранжирування Google.Trustrank сайту. Рівень надійності ресурсу. Сильно впливає на видачу і на вагу, переданий зовнішніх посиланнях. Молодому сайту отримати практично неможливо.сайтів, що посилаються. Чим вище PR посилається сайту, тим більшу вагу передається посиланням.Trustrank сайтів, що посилаються. Аналогічно.ТІЦ сайтів, що посилаються. Тематичний індекс цитування Yandex'a - не впливає на видачу, але впливає на вагу, переданий зовнішніми посиланнями.Посилальна маса сайту. Кількість і якість посилань, які має сайт. Наприклад безліч посилань зі спамових ресурсів можуть завдати шкоди, в той час як одна єдина посилання з трастового ресурсу може сильно вплинути на позиції сайту в самому гарному сенсі.Якоря посилань. Необхідно для визначення релевантності сайту. Цілком можливо зробити сайт релевантним певному запиту засчет одних лише зовнішніх посилань (тобто само ключове слово не зустрічатиметься в тексті взагалі).

Наявність в трастових каталогах. Наявність в таких каталогах, як ЯК або DMOZ може сильно вплинути на ранжирування сайту.

Ранжування сайту - одна з причин, які змушують враховувати web-майстрів всі ці фактори. Якщо правильно виконати всі умови, які враховують у своїй роботі пошукові машини, то при ранжируванні сайтів, вони будуть піднімати Ваш ресурс на верхні позиції і може бути незабаром він увійде в десятку сайтів на першій сторінці пошуковика. Виконувати оптимізацію і враховувати фактори ранжирування краще пошуковою системою Yandex - він дає більшу частину трафіку в порівнянні з іншими пошуковими машинами.


1.6 Пошукові машини. Алгоритм роботи


Як насправді працює пошукова машина, і принцип роботи її алгоритмів на 100% не знає ніхто, навіть творці пошукових систем. Однак деякі постулати алгоритму роботи пошукових машин таки відомі, на які потрібно спиратися в першу чергу при виконанні пошукової оптимізації сайту.

Вся робота пошукових машин спрямована на спрощення пошуку інформації в Інтернеті, яку запитує користувач, і видачу сайтів містять дану інформацію, найбільш релевантну запитом. Тобто іншими словами алгоритми роботи пошукових машин, створені не для самих пошукачів, а для подачі якісної інформації користувачам системи. Це правило потрібно враховувати завжди і не намагатися займатися обманом пошукових машин, при створенні web-сайтів.

Робота пошукової машини в цілому виконується набором певного виду програм. У кожної програми "машини шукачі", є своя певна задача, яку вона повинна виконувати. Давайте розглянемо, як працює пошукова машина, розбираючи окремо її компоненти.

Павук (спайдер) - є пошуковим роботом, який переміщається по сторінках сайтів і займається скачуванням нових сайтів або їх оновлень, в базу пошукової машини. Павук не розрізняє і не читає графіком, флеш і скрипти, які використовую web-майстри при створенні сайтів. Пошуковий робот бачить тільки код сторінок, відповідно наповнюючи сторінки банерами і анімацією, Ви тим самим погіршує її індексацію. Мандрівний павук (краулер) - назва говорить сама за себе, подорожуючи по мережі, виконує функцію шукачі. Відстежує появу нових сайтів і сторінок і повідомляє павуку-спайдеру про появу нового документа, який необхідно занести в базу пошукової системи. Відіграє одну з важливих ролей у роботі пошукової машини. Для того, щоб краулер знайшов Ваш сайт, необхідно повідомити йому про нього. Повідомити можна, або шляхом реєстрації в пошуковику, або установкою посилання веде на Ваш сайт на проіндексований ресурсі - підійде каталог сайтів[12].

Індексатор - спеціальна програма, яка грає також чималу роль у роботі пошукової машини. Шляхом аналізу сторінок, визначає релевантність і тематична відповідність змісту сторінки, деяким пошуковим запитам. Алгоритми роботи індексатора в кожній пошуковій машині відрізняються один від одного, але мета у них одна.

Архів або база пошукової машини - тут розміщуються всі сторінки сайтів, які були проіндексовані і знайдені павуками. Робота пошукової машини зводиться до виявлення з цієї загальної бази даних, найбільш релевантного запиту сайту.

Сервер пошукової машини - тут треба розуміти, що пошукова машина працює одночасно з декількома тисячами запитами і сайтами, щодня перелопачуючи небачені обсяги інформації. Відповідно пошуковики розташовуються на найпотужнішому сервері, який дозволяє за частки секунди виконувати запити декількох тисяч користувачів одночасно. Такі сервера забезпечують стабільну роботу пошукової машини.

Алгоритм роботи пошукової машини полягає в наступному.

Ви задаєте слово або фразу в пошукову форму на сайті пошукача, не має значення, на якому з них Rambler'e, Yandex'e або ін, тим самим, даючи команду пошуковій машині на обробку запиту.

Пошуковик у свою чергу порівнює збіг запиту з ключовими словами, які укладені в мета-теги сторінок, а також збіг назви сторінок із заданим запитом.

Пошукова машина, зробивши вибірку найбільш релевантних сайтів, видає їх список користувачеві. Виконує ранжування сайтів або іншими словами розподіл позицій, згідно відповідністю та цінності інформаційного вмісту сторінок, заданий користувачем запит.

Швидкість роботи пошукової машини, залежить від кількості оброблюваної інформації. Чим більше вона буде завантажена, тим довше Вам доведеться чекати індексації сайту. Період між знаходженням сайту пошуковою машиною і занесенням його в свою базу даних, становить від двох днів до декількох місяців.

Після того як сайту буде виявлено і пошукова машина виконає індексацію сторінок Вашого сайту, він з'явиться в базі каталогу, і буде займати позиції при видачі користувачеві відповідно до своєї релевантністю запитом.

Для того, щоб робота пошукової машини відповідала тому заради чого вона була зроблена, їй доводиться постійно зазнавати зміни алгоритмів. Розробники постійно вносять оновлення для зміни тих чи інших параметрів роботи пошукача, що в свою чергу створює додаткові труднощі вweb-майстрам. Коли змінюється алгоритм роботи пошукової системи, невідомо на які позиції відлетить Ваш сайту, на верхні або ж опуститься нижче. Тому web-майстрам при зміні алгоритму роботи пошукача, доводиться міняти вміст і структуру сайту, тим самим, підлаштовуючись під ці оновлення.


2. Розробка пошукової моделі


.1 Опис процесу зміни рейтингу сайту пошукових машини математичних моделій


Розглянемо систему S, що має n можливих станів: s1, s2,... si,... sj,... sn. Нехай для будь-якої пари станів si, sj відома інтенсивність лij (t) пуассонівського потоку подій, що перекладає систему S з будь-якого стану si в будь який інший стан sj (i ? j); будемо вважати цю інтенсивність рівною нулю, якщо безпосередній перехід зі стану si в стан sj неможливий. Позначимо pi (t)-ймовірність того, що в момент t система знаходиться в стані si (i = l, 2,..., n). Тепер додамо t прирощення Дt і знайдемо ймовірність рi (t + Дt) того, що в момент t + Дt система буде перебувати в стані si. Позначимо це подія A: A = {S (t + Дt) = si}.

Ця подія може відбутися двома способами: або відбудеться подія В, яке у тому, що в момент t система вже була в змозі si і за час Дt не вийшла з цього стану; або відбудеться подія С, яке у тому, що в момент t система була в одному з сусідніх станів sj, з яких можливий перехід в si (лij (t) ? 0), і за час Дt перейшла із стану sj в si.

Очевидно, А = В + С. Знайдемо ймовірності подій В і С. Згідно з правилом множення ймовірностей ймовірність події В дорівнює ймовірності pi(t) того, що система в момент t була в стані si, помноженої на умовну ймовірність того, що за час Дt вона не вийде з цього стану, тобто в сумарному потоці подій, виводять систему зі стану si, чи не з'явиться жодної події. Так як сумарний потік подій, що виводить систему зі стану si, як і всі його складові - пуассоновский з інтенсивністю, яка дорівнює сумі інтенсивностей доданків потоків:


(2.1)

то умовна ймовірність того, що на ділянці часу Дt з'явиться хоча б одна подія, дорівнює (наближено)


(2.2)


а умовна ймовірність протилежної події дорівнює.


(2.3)


Таким чином,


(2.4)


Знайдемо тепер ймовірність події С. Уявімо його у вигляді суми несумісних варіантів


(2.5)


де підсумовування поширюється на всі стани sj, з яких можливий безпосередній перехід в si (тобто для яких лij (t) ? 0). Події Сj, в силу ординарності потоків, можна вважати несумісними.

За правилом додавання ймовірностей


(2.6)

За правилом множення ймовірностей


(2.7)

(2.8)

(2.9)


Таким чином,


(2.10)


Віднімаючи з (2.10) pi (t) отримаємо приріст функції на ділянці (t, t + Дt)


(2.11)


ділячи приріст функції на прирощення аргументу Дt і спрямовуючи Дt до нуля, отримаємо в межі похідну функції pi (t):


(2.12)


Перша сума в правій частині формули (2.2.6) поширюється на ті значення j, для яких можливий безпосередній перехід зі стану sj в si (тобто для яких лji ? 0), а друга - на ті значення j, для яких можливий безпосередній перехід з si в sj (тобто лij (t) ? 0.

Таким чином, ми отримали для ймовірностей pi(t) систему звичайних диференціальних рівнянь (2.12) з змінними (у загальному випадку) коефіцієнтами. Ці рівняння називаються рівняннями Колмогорова (по імені академіка А. М. Колмогорова, який запропонував такий метод аналізу марковських процесів з дискретними станами і безперервним часом)[13].

Систему диференціальних рівнянь (2.12) вирішують при початкових умовах, які задають ймовірності станів у початковий момент при t = 0


(2.13)


причому для будь-якого моменту часу t виконується нормувального умова


(2.14)


Це випливає з того, що в будь-який момент t події


(2.15)


утворюють повну групу несумісних подій. Нормувального умова (2.14) можна використовувати замість одного (кожного) з диференціальних рівнянь (2.9).

При складанні системи диференціальних рівнянь (2.9) зручно користуватися розміченим графом станів системи, де біля кожної стрілки, що веде з стану si в стан sj, варто інтенсивність лij(t) пуассонівського потоку подій, що перекладає систему зі стану si в sj. Якщо лij (t) = 0, ні стрілка, ні відповідна інтенсивність на розміченому графі не ставляться.

Для визначення констант необхідно зібрати статистичні дані і необхідно розробити програму, збирає й обробляє ці дані[14].


2.2 Графи станів рейтингу сайту, види станів, ймовірності станів


Для опису процесів зміни стану популярності сайту ми будемо користуватися теорією випадкових процесів, а точніше Марківський процес з дискретними станами.

Строго кажучи, в природі не існує абсолютно не випадкових, в точності детермінованих процесів, але є процеси, на хід яких випадкові чинники впливають так слабо, що при вивченні явища ними можна знехтувати. Існують і такі процеси, де випадковість відіграє основну роль. Між цими двома крайніми випадками лежить цілий спектр процесів, в яких випадковість відіграє більшу чи меншу роль. Враховувати (або не враховувати) випадковість процесу залежить також і від того, яку практичну задачу ми вирішуємо.

Випадковий процес, що протікає в будь фізичній системі S, являє собою випадкові переходи системи зі стану в стан. Стан системи може бути охарактеризоване за допомогою якихось чисельних змінних; в простому випадку - однієї, а в більш складних - кількох.

Розглянемо фізичну систему S, в якій протікає випадковий процес з дискретними станами:

1, s2,... si,...,(2.16)


число яких звичайно (або лічильно). Стану si, s2,... можуть бути якісними (тобто описуватися словами) або ж кожне з них характеризується випадковою величиною (або випадковим вектором).

Насамперед, розглянемо безліч станів (2.16) з точки зору його структури - можливості системи S переходити зі стану si в даний стан sj безпосередньо або через інші стани. Для цього зручно користуватися наочною схемою, так званим графом станів.

Є дві основні різновиди графів: неорієнтовані і орієнтовані. Неорієнтовані граф - сукупність точок (вершин графа) з з'єднують деякі з них відрізками (ребрами графа). Орієнтований граф - це сукупність точок (вершин) з з'єднують деякі з них орієнтованими відрізками (стрілками).

Надалі будемо користуватися тільки орієнтованими графами.

Вершини графа будуть відповідати станам системи. Вершину будемо зображати прямокутником, в який вписано позначення стану; стрілка, яка веде з вершини si у вершину sj, буде позначати можливість переходу системи S зі стану si в стан sj безпосередньо, минаючи інші стани. Стрілки графа можуть зображуватися не тільки прямолінійними, а й криволінійними відрізками.

Якщо прив'язувати вищеназвану систему до пошукової оптимізації сайту, то можна отримати наступну картину: система S буде являти собою власне сайт, а його можливі стану s1, s2,... si,... це знаходження сайту в будь-якому «топі популярності», наприклад топ 5, топ 10, топ 50 і т.д. Граф станів зображений на рис. 2.1. Будемо вважати далі, що перехід системи S зі стану si в стан sj здійснюється миттєво і що в будь-який момент часу система може перебувати тільки в одному зі своїх станів.


Рис 2.1. Рейтінги сайтів

Проведемо деяку необхідну для подальшого класифікацію станів.

Стан si називається джерелом, якщо система S може вийти з цього стану, але потрапити в нього назад вже не може, тобто на графі станів у стан si не веде жодна стрілка. На рис 2.2 стану s1 і s2 є джерелами.


Рис.2.2 Джерела станів. Рис 2.3. Розвиток станів


Стан si називається кінцевим (або поглинаючим), якщо система S може потрапити в цей стан, але вийти з нього вже не може. Для графа станів це означає, що зі стану si не веде жодна стрілка (для графа, зображеного на рис. 2.3, стану s4 і s7 - поглинаючі; для графа станів сайту, зображеного на рис. 2.1, поглинаючих станів немає; у графа, побудованого на рис. 2.2, поглинаючі стану також відсутні)[16].

Якщо система S може безпосередньо перейти зі стану si в стан sj, той стан sj називається сусіднім по відношенню до стану si. Якщо система S може безпосередньо перейти зі стану si в стан sj і зі стану sj в стан si, то стану si, sj називаються сусідніми. На графі станів нашого сайту всі стани можна вважати сусідніми, тому що сайт може переміститися, наприклад, з «топа 50» і в «топ 10», і в «топ 5» або стати непопулярним сайтом.

Стан si називається транзитивним, якщо система S може увійти в цей стан і вийти з нього, тобто на графі станів є хоча б одна стрілка, ведуча в si, і хоча б одна стрілка, яка веде з si. На рис. 2.2 всі стани є транзитивними; на рис. 2.3 всі стани, крім джерел s1, s5 і поглинаючих s4, s7, транзитивні.

При аналізі випадкових процесів, що протікають в системах з дискретними станами, важливу роль відіграють ймовірності станів.

Позначимо S(t) стан системи S в момент t.

Імовірністю i-го стану в момент t називається ймовірність події, що складається в тому, що в момент t система S буде в змозі si; позначимо її pi (t):

i (t) = P {S (t) = si}, (2.16)


де S (t) - випадковий стан системи S в момент t.

Очевидно, що для системи з дискретними станами s1, s2,.... si,... в будь-який момент t сума ймовірностей станів дорівнює одиниці:


(2.17)


як сума ймовірностей повної групи несумісних подій.

У ряді завдань практики нас цікавить так званий сталий або стаціонарний режим роботи системи, який у ній встановлюється, коли від початку процесу пройшло досить великий час.

У деяких випадкових процесах після досить великого часу встановлюється стаціонарний режим, під час якого стану системи хоча і змінюються випадковим чином, але їх ймовірності pi(t) (i = 1,2,...) залишаються постійними.

Позначимо ці постійні ймовірності рi:


(2.18)


Імовірності pi (i = l, 2,...), якщо вони існують, називаються фінальними (граничними) ймовірностями станів. Фінальну ймовірність pi можна витлумачити як середню частку часу, яку в стаціонарному режимі проводить система S в змозі si.

Введемо дуже важливе для подальшого поняття марковского випадкового процесу.

Випадковий процес, що протікає в системі S з дискретними станами s1, s2,..., si,..., називається марковским, якщо для будь-якого моменту часу t0 ймовірність кожного з станів системи в майбутньому (при t> t0) залежить тільки від її стану в сьогоденні (при t = t0) і не залежить від того, коли і як вона прийшла в цей стан; тобто не залежить від її поведінки в минулому (при t <t0). Не треба розуміти Марківське властивість випадкового процесу як повну незалежність «майбутнього» від «минулого»; немає, в загальному випадку «майбутнє» залежить від «справжнього», тобто ймовірності pi(t) при t> t0 залежать від того, в якому стані si знаходиться система в теперішньому (при t = t0); саме ж це «справжнє» залежить від «минулого», від того, як вела себе система S при t <t0. Це можна сформулювати таким чином: для марковского випадкового процесу «майбутнє» залежить від «минулого» тільки через «справжнє». При фіксованому «справжньому» умовні ймовірності всіх станів системи в «майбутньому» не залежать від передісторії процесу, тобто від того, коли і як система S до моменту t0 прийшла в стан si.

Марківські процеси з дискретними станами і дискретним часом мають порівняно мало додатків, так як досить рідко на практиці моменти можливих переходів системи S зі стану в стан заздалегідь відомі і фіксовані. Набагато типовіше випадок, коли переходи системи зі стану в стан можуть відбуватися не у фіксовані моменти t0, t1, t2..., а у випадкові моменти.

На практиці досить рідко зустрічаються марковські процеси в чистому вигляді, але досить часто - процеси, які з тим або іншим наближенням можна вважати марковскими.

Для подальших міркувань нам треба такі поняття, як потік подій, інтенсивність потоку і потік подій без післядії. Потоком подій називається послідовність однорідних подій, що з'являються одне за іншим у випадкові моменти часу. Потік подій називається потоком без післядії, якщо ймовірність попадання будь-якого числа подій на одну з ділянок часу не залежить від того, скільки їх потрапило на інші.

Інтенсивністю (густиною) потоку подій в момент t називається наступна величина:


(2.19)


де X (t, Дt) - випадкове число подій, що потрапляють на елементарну ділянку (t, t + Дt);- математичне очікування.

Фізичний зміст інтенсивності л(t) потоку подій - це середнє число подій, що припадає на одиницю часу, для елементарної ділянки Дt, що примикає до t.

Нам буде зручно вважати, що переходи («перескоки») системи S зі стану в стан відбуваються під впливом якихось потоків подій. Як тільки відбулося перше після моменту t0 подія, перехід зі стану в стан здійснюється (подальші події потоку не враховуються ніяк). Відсутність післядії в пуассоновском потоці дозволить нам при фіксованому теперішньому (стан si системи в момент t) не піклуватися про те, коли і як система опинилася в цьому стані. Імовірність переходу системи S зі стану si, в якому вона перебувала в момент t, в стан sj за елементарний проміжок часу Дt, що безпосередньо примикає до t, наближено дорівнює лij(t) Дt, де лij (t) - інтенсивність пуассонівського потоку подій, що перекладає систему з si в sj. Якщо всі потоки подій, що переводять систему зі стану в стан, - пуассонівської і незалежні, то процес, що протікає в системі S, буде марковским. Якщо відомі всі інтенсивності пуассонівських потоків подій, що переводять систему зі стану в стан, то можна скласти диференціальні рівняння для ймовірностей станів. Про це і піде мова в наступній частині.

2.3 Моделі поведінки користувача при роботі з пошуковими системами


Найцікавішим під час проведення дослідження було отримати узагальнену модель поведінки користувачів при роботі з пошуковими системами, виражену в числовому вероятностном еквіваленті.

Спираючись на результати декількох обчислень, в яких ми використовували різні математичні моделі, ми отримали ряд коефіцієнтів ймовірностей для позицій в результатах пошуку. Ці коефіцієнти в узагальненому вигляді можна представить наступними графіками:

Особлива модель поведінки користувачів при роботі з «Рамблером» формується через те, що «Рамблер» за замовчуванням виводить на екран 15 результатів пошуку, а не 10, як інші пошуковики.

Графік показує усереднену ймовірність кліка з тієї чи іншої позиції. Використовувати наведені на графіках дані для підрахунку трафіку було б невірним, оскільки діапазон коливання значень ймовірності кліка дуже великий у порівнянні з самої величиною ймовірності кліка з тієї чи іншої позиції.

У наступних розділах покажемо, які параметри і наскільки сильно впливають на модель поведінки користувача при роботі з пошуковими машинами.


Рис 2.4. Графік розподілу ймовірності кліка по позіціям пошукових систем Яндекс і Google


2.4 Видимість або трафік


Раніше компанією Enquiro research було опубліковано дослідження розподілу уваги користувачів пошукових систем, проведене компаніями Did-it, Enquiro і Eyetools в 2005 році. У результаті цього дослідження були отримані коефіцієнти розподілу уваги по поверхні екрану при роботі з пошуковими системами:

·1, 2 і 3-а позиції - коефіцієнт 1

·4-я позиція - 0,85

·5-а позиція - 0,6

·6 і 7-я позиція - 0,5

·8 і 9-я позиція - 0,3

·10-я позиція - 0,2

Привівши коефіцієнти усередненого розподілу імовірності кліків по позиціях в пошуковій видачі до одиничної шкалою, ми отримали наступні графіки:


Рис 2.5 Графіки розподілу імовірності кліків по позиціях в пошуковій видачі.


Очевидно, що графік розподілу ймовірності кліка не відповідає даним про розподіл зон уваги користувача при роботі з результатами пошукової видачі. Причиною тому - ряд психологічних факторів, які впливають на рішення натиснути на ту чи іншу посилання у видачі.

До таких факторів можна віднести те, що:

зниження довіри до результатів видачі у середньостатистичного користувача Інтернет не співпадає з розподілом його уваги по позиціях, так як результати роботи пошукових систем користувачами, швидше за все, оцінюються як незалежний рейтинг. А все, що знаходиться в рейтингу, заслуговує на увагу, незалежно від того, на першої, п'ятої, або десятій позиції знаходиться сайт. Тобто основну увагу користувача прикута до перших п'яти результатів пошуку, але ймовірність кліка по позиціях розподілена більш рівномірно. Іноді користувач робить кілька кліків за результатами пошуку, щоб порівняти різні пропозиції, особливо при введенні транзакційних запитів.

Люди, перед тим як клікнути на ту чи іншу посилання, читають текст посилань та анотації до них, і тільки потім приймають рішення про кліці, що суттєво може змінити картину розподілу уваги при роботі з пошуковою видачею і імовірностей кліків.

Залежність кількості трафіку від тематики

Припустивши, що розподіл імовірності кліків за результатами видачі залежно від того, до якої тематики відноситься запит, ми розділили досліджувані нами сайти на тематики. Всім запитам, за якими були зафіксовані переходи на ці сайти з пошукових систем, привласнили ті ж тематики, що і сайтам.

В результаті, розділивши запити на групи, ми отримали наступні графіки, найбільш наочно відображають вплив тематики на модель поведінки користувача при роботі з пошуковими системами:


Рис 2.6. Графік зміни вероятності кліка від тематики


Для кожної з наведеної на графіку тематики є запити, для яких розподіл ймовірності кліка має інший вигляд, але в цілому для обраних нами в дослідженні пошукових фраз графіки вірні.

З отриманих графіків добре видно, що ймовірність розподілу кліків за результатами пошукової видачі дуже сильно залежить від тематики запиту.

Помилки та обмани:

Для компаній, що замовляють послуги пошукової оптимізації, було б помилковим порівнювати одержуваний ними трафік з результатами сайтів з інших тематик і робити висновки про якість роботи оптимізаторів.

Експерти рекомендують:

Для коректного порівняння ми рекомендуємо зробити оцінки ймовірностей кліка користувача для свого сайту і, користуючись отриманими даними, проводити порівняння зі своїми конкурентами, що працюють в тій же тематиці. Враховувати потрібно і інші параметри, що формують модель поведінки користувача пошукових систем, які розглянуто нами нижче[17].

Вплив якості сниппета на розподіл ймовірності пошукових систем

Тематики є важливим, але не єдиним фактором, що впливає на розподіл ймовірності кліків користувачів в пошукових системах. Ми припустили, що ще одним таким чинником є коротка анотація в результатах пошуку до посиланням на сайт - сниппет.Спираючись на відхилення від усередненої статистики кліків в одній і тій же тематиці, ми вибрали трохи менше ста запитів для різних сайтів при оцінці причин відхилень. Нами було виявлено, що більшість відхилень, перш за все, пов'язано з якістю сніпетів.Оцінку сніпетів в результатах пошуку ми проводили вручну, так як їх вплив на прийняття рішення про кліці по посиланню суб'єктивно. Ймовірність кліка дуже сильно залежить від емоцій, що викликаються у користувачів пошукових систем тієї чи іншої анотації.



3. Дослідження особливостей seo моделі


.1 Опис пошукових машин, математична модель


Терміни та визначення

Клік. Перехід користувача сайту по текстовому посиланню або банеру.

Контекстна пошукова реклама. Реклама, зміст якої залежить від запиту користувача до пошукової системи. Так як подібна реклама показується тільки тим, хто цілеспрямовано шукає інформацію на тему запиту, її ефективність набагато вище звичайної. CTR контекстної реклами становить 3-4%, але нерідко досягає і 30-40%. Подібна реклама забезпечує кращу конверсію відвідувачів в покупців.Пошукова машина. Також пошукова система, пошуковик - програмно-апаратний комплекс, призначений для здійснення пошуку в Інтернеті і реагує на запит користувача, що задається текстової фразою, видачею набору посилань на сторінки і сайти, ідповідного запиту (на думку пошукової машини).

Пошукова оптимізація. Також просування сайту, оптимізація сайту, пошукова оптимізація, SEO - набір дій по зміні сайту і елементів зовнішнього середовища з метою отримання високих місць в результатах пошуку по заданих запитах.Результати пошуку. Також SERP (search engine result page). Сторінка, що видається пошуковою системою в якості відповіді на запит користувача і містить набір посилань на сторінки Інтернету, відповідні, на думку алгоритму пошукової машини, заданому запиту (релевантні йому).

Релевантність. Від англ. relevant - що відноситься до справи. Позначає відповідність знайденого документа запиту, зробленому користувачем пошукової системи.Сніппет. Від англ. snippet (фрагмент). Фрагменти тексту знайденої пошуковою машиною сторінки сайту, які показуються в результатах пошуку в якості опису (стислого реферату) сторінки.CTR. Від англ. Click Through Ratio. Відношення числа кліків по рекламному матеріалу або посиланні до числа їх показів відвідувачам. Виражається у відсотках.SEO. Від англ. Search engines optimization. Див Пошукова оптимізація.Інформаційні запити. Запити, вводячи які, користувач хоче знайти певну інформацію, при цьому не піклуючись про те, де саме він її виявить (наприклад, «як лагодити міксер»).Навігаційні запити. Запити, вводячи які, користувач шукає в Інтернеті певне місце, сайт, де, як він вважає, міститься цікава йому інформація (наприклад, «сайт компанії Самсунг»).Транзакційні запити. Запити, вводячи які, користувач у самому формулюванні питання демонструє свою готовність зробити якусь дію або зацікавленість у ньому (наприклад, «купити міксер Самсунг»).

Навіщо і як проводилося дослідженняГоловне питання для замовників пошукової оптимізації - «Як оцінити якість наданої послуги?». Суть цього питання - проблема ефективності витрат на пошукову оптимізацію, а також виявлення проблем та шляхів їх вирішення.Цей же питання не менш актуальне і складний для самих оптимізаторів. Їм важливо переконати своїх клієнтів у тому, що надані ними послуги оптимальні для них і найбільш вигідні. Один з ключових критеріїв якості SEO-послуг - кількість переходів користувачів Інтернету з пошукових машин.У даній статті ми поділимося з читачами даними, отриманими нами в результаті дослідження імовірнісних моделей поведінки користувачів при роботі з пошуковими системами[18].

У дослідженні ми використовували щотижневу статистику по 15 000 пошуковим запитам в трьох найбільш популярних в Рунеті пошукових системах («Яндекс», «Рамблер», Google) для 5500 сайтів, які склали 58 000 пар сайт-запит.Для дослідження нами були відібрані навігаційні запити, що склали 80% від загального числа фраз, і 20% транзакційних запитів. Інформаційний тип запитів не враховувався. При цьому слід зазначити явно виражену приналежність відібраних запитів до певних тематиках, що вплинуло на побудову графіків середнього CTR в результатах пошуку.

Дані по трафіку були взяті з відкритої статистики Liveinternet.ru. Дані по позиціях ми отримали з сервісу www.seorate.ru.

Цілі дослідження:

Порівняння популярності ряду тематик в різних пошукових системах.

Виявлення закономірностей у розподілі трафіку по позиціях пошукової видачі.Визначення впливу анотацій (сніпетів) на модель поведінки користувачів при роботі з пошуковою видачею.Визначення впливу популярності запитів на зміну моделі поведінки користувачів при роботі з пошуковими системами.Для отримання результатів використовувалися різні методи математичної статистики і лінійної алгебри.Ми сподіваємося, що результати дослідження допоможуть замовникам SEO-послуг правильно оцінювати обсяг трафіку, одержуваний сайтом в результаті пошукової оптимізації. Читачі також зможуть зрозуміти, у що найбільш ефективно вкладати бюджети, виділені на просування, і як вибирати найбільш оптимальну стратегію просування свого ресурсу.Звіт про результати дослідження розділений на параграфи, в кінці кожного з яких наведена типова помилка планування або аналізу SEO-компанії, а також рекомендації експертів щодо правильного застосування описаних у параграфі даних[19].

Популярність пошукових систем.

Багато знайомі зі статикою популярності пошукових систем, вона фігурує в ряді статей на сайтах і в журналах.

Нижче наведена статистика популярності пошукових систем в Росії, надана Liveinternet.ru за липень 2007 року (рис. 3).

Більшість замовників послуг пошукової оптимізації в Україні, спираючись на дані цієї статистики, ставлять перед оптимізатором метою поліпшення позицій сайту тільки в «Яндексі». Але чи так вірно вважати, що весь Рунет підпорядкований усередненим і узагальненими даними, а більша частина пошукового інтернет-трафіку створюється тільки «Яндексом»?


Рис 3.1. Популярність пошукових систем.


Проаналізуємо трафік, що йде з пошукових систем за різними запитами. Спираючись на дані лічильника Liveinternet.ru по пошуковим фразам і тематик, ми побачили, що багато тематики та запити в них не підпорядковуються загальній статистиці.Наведемо приклади декількох запитів і тематик, де популярність пошукових систем має зовсім інший вигляд, ніж у загальній статистиці:


Рис 3.2. Популярність для ювелірних прикрасах


Рис 3.3. Популярність для ізвесніх особистостей, що згадуються в пресі.


Рис 3.4. Популярність разлічніх тематик в пошукових системах.


3.2 Рішення багатокритеріальної задачі за допомогою генетичних алгоритмів


З часів першої основоположною роботи Розенберга кінця 60-х років минулого сторіччя, що стосується можливості використання пошуку, заснованого на генетичних алгоритмах, стосовно до безлічі цільових функцій, ця область досліджень (зараз також відома як еволюційна багатокритеріальна оптимізація) значно розрослася. На це вказує значне збільшення (головним чином за останні 15 років) технічних статей у спеціалізованих журналах, спеціальних секцій на міжнародних конференціях і дослідників, які цікавляться даним питанням в Інтернеті.Але варто відзначити, що найбільш бурхливо розробки в сфері багатокритеріальної оптимізації генетичними алгоритмами ведуться за кордоном, внаслідок чого більша частина робіт не доходить до російських фахівців, а про досягнення в цій галузі можна судити лише по нечисленних закордонним (в основному англомовним) публікаціям, які поширюються переважно за допомогою мережі Інтернет.

Основні принципи еволюційної теорії

За допомогою еволюції природа постійно оптимізує все живе, знаходячи часом самі неординарні рішення. З першого погляду неясно, за рахунок чого відбувається цей прогрес, однак йому є наукове пояснення. Дати це пояснення можна, грунтуючись всього на двох біологічних механізмах - природного відбору і генетичного спадкування.Ключову роль в еволюційній теорії грає природний відбір. Його суть полягає в тому, що найбільш пристосовані особини краще виживають і приносять більше потомства, ніж менш пристосовані. Основний же закон спадкування заснований на твердженні, що нащадки схожі на батьків. Зокрема, нащадки більш пристосованих батьків, швидше за все, будуть одними з найбільш пристосованих у своєму поколінні.Отже, еволюція - це процес постійної оптимізації біологічних видів. Природний відбір гарантує, що найбільш пристосовані особини дадуть досить велике потомство, а завдяки генетичному спадкоємства ми можемо бути впевнені, що частина цього потомства не тільки збереже високу пристосованість батьків, але буде володіти і деякими новими властивостями. Якщо ці нові властивості виявляться корисними, то з великою ймовірністю вони перейдуть і в наступне покоління. Таким чином, відбувається накопичення корисних якостей і поступове підвищення пристосовності біологічного виду в цілому. У результаті зміни поколінь, зрештою, виробляється таке рішення поставленої задачі, яке вже не може бути далі поліпшено. Знаючи, як вирішується завдання оптимізації видів у природі, дослідники стали застосовувати схожий метод для вирішення різних реальних завдань.За аналогією з природною еволюцією, в генетичних алгоритмах кандидати-рішення називаються індивідами, а безліч кандидатів-рішень - популяцією. Кожен індивід визначає можливе рішення задачі, при цьому, однак, сам по собі він не є вектором рішень, а швидше кодує його, грунтуючись на відповідній структурі подання рішення. У генетичних алгоритмах ця структура визначається вектором - вектором бітів або вектором дійсних чисел - набором генів, що утворюють хромосоми. Також можуть бути й інші види структури, наприклад, представлення у вигляді дерев як в генетичному програмуванні. Безліч всіх можливих векторів утворює простір індивідів . Тоді, згідно з прийнятою термінології, популяція - є безліч векторів, або точніше мультімножество векторів , тому що воно може містити кілька ідентичних індивідів.У процесі селекції, який може бути як стохастичним, так і детермінованим, гірші рішення - непристосовані індивіди - видаляються з популяції, в той час як індивіди з більшою придатністю - найбільш пристосовані - піддаються репродукції. Мета полягає в тому, щоб посилити пошук в певних областях пошукового простору і збільшити середню «якість» всередині популяції. Якість індивіда при вирішенні задачі оптимізації визначається скалярним значенням, так званої придатністю. Зауважимо при цьому, що, так як якість індивіда визначається на підставі значень цільових функцій, перш ніж обчислити його придатність, попередньо індивід повинен бути декодована, отриманий його фенотип. Ця ситуація показана на малюнку 1: спочатку маємо індивіда (генотип), далі, використовуючи декодуючий алгоритм, за допомогою функції із витягується вектор-рішення (фенотип); застосовуючи до виходить відповідний цільовий вектор, на основі якого призначається придатність індивіда .

Рекомбінація і мутація націлені на виробництво нових рішень за допомогою зміни існуючих рішень в межах простору пошуку. Оператор рекомбінації породжує певне число дітей за допомогою схрещування певного числа батьків. Щоб зімітувати стохастичну природу еволюції, оператор рекомбінації асоційований з ймовірністю схрещування.


Рис. 3.5 - Взаємозв'язок між простором індивідів простором рішень і критеріальним простором


На відміну від нього, оператор мутації модифікує індивідів за допомогою зміни незначних частин відповідних їм векторів згідно заданого ступеня мутації. Обидва ці оператора (мутації і рекомбінації) працюють безпосередньо з індивідами (їх генотипами), тобто діють у просторі індивідів, а не з декодувати векторами рішень (фенотипами індивідів).Заснована на представлених вище концепціях природна еволюція моделюється ітеративним обчислювальним процесом. Спочатку випадковим чином (або грунтуючись на заданій схемі) створюється початкова популяція, яка є стартовою точкою еволюційного процесу. Далі певну кількість разів повторюється цикл, що складається з кроків оцінювання (призначення придатності), селекції, рекомбінації і / або мутації. Кожна така циклічна ітерація називається поколінням і, найчастіше, заздалегідь визначене максимальну кількість поколінь служить критерієм зупинки всього циклу. Крім цього, критерієм зупинки можуть служити і інші умови, такі як стагнація або існування індивіда з задовільною придатністю. Зрештою, кращий індивід (індивіди) в результуючій популяції або знайдений протягом всього еволюційного процесу є результатом еволюційного алгоритму.

Таким чином, генетичний алгоритм - це проста модель еволюції в природі, реалізована у вигляді комп'ютерної програми. У ньому використовуються як аналог механізму генетичного наслідування, і аналог природного відбору. При цьому в спрощеному вигляді зберігається основна біологічна термінологія:

-хромосома - вектор (послідовність) з нулів та одиниць, кожна позиція (біт) якого називається геном. Індивід визначається генетичним кодом - набором хромосом, а його фенотип представляє варіант рішення задачі;

-схрещування - операція, при якій дві хромосоми обмінюються своїми частинами;

-мутація - випадкова зміна однієї або декількох позицій у хромосомі;

-пристосованість індивіда - значення цільової функції на цьому індивіді (його фенотипі);

відбір в генетичному алгоритмі - це процес формування нової популяції зі старої, після чого стара популяція гине. Після відбору до нової популяції знову застосовуються операції схрещування і мутації, потім знову відбувається відбір, і так далі;

життєвий цикл популяції - це кілька випадкових схрещувань і мутацій, в результаті яких до популяції додається якась кількість нових індивідів;

виживання найбільш пристосованих індивідів проявляється в тому, що популяція наступного покоління формується відповідно до цільової функцією. Чим приспособленнее індивід, тим більше ймовірність його участі в рекомбінації, тобто в розмноженні.

Варто також відзначити ще 2 механізму, застосування яких в генетичних алгоритмах відіграє велику роль - це «розробка» (exploitation) і «дослідження» (exploration). «Розробка» забезпечує знаходження оптимального рішення поблизу елітарного (кращого) рішення. А за допомогою «дослідження» оптимальне рішення може бути знайдено в будь-якій частині пошукового простору. У однокритерійним оптимізації генетичними алгоритмами «дослідження» здійснюється на ранніх стадіях пошуку, а «розробка» - на пізніх. Інакше йде справа в генетичних алгоритмах, вживаних при багатокритеріальної оптимізації. Тут і механізм «дослідження», і механізм «розробки» повинні бути представлені протягом всієї процедури пошуку.«Розробка» - це процес використання інформації, отриманої раніше при перегляді точок пошукового простору, для визначення регіонів простору пошуку, які було б корисно відвідати ще. Сходження на «пагорб» - приклад використання механізму «розробки», так як при цьому досліджуються близькі в просторі пошуку точки і подальший пошук здійснюється в напрямку, що дає найбільше збільшення функції придатності. Застосування механізму «розробки» ефективно при знаходженні локальних оптимумів. У генетичних алгоритмах в якості механізму «розробки» використовується схрещування.«Дослідження» - процес перегляду абсолютно нових регіонів простору пошуку, щоб виявити можливі багатообіцяюче області. На відміну від механізму «розробки», «дослідження» має на увазі скачки в невідомі регіони пошукового простору. Прикладом використання механізму «дослідження» може служити випадковий пошук. Завдання з безліччю локальних оптимумів іноді можуть бути вирішені тільки із застосуванням механізму «дослідження» у вигляді локального пошуку. У генетичних алгоритмах в якості механізму «дослідження» використовується мутація.Отже, генетичний алгоритм імітує еволюцію популяції як циклічний процес схрещування і / або мутації входять до неї індивідів, а також зміни поколінь. Модель відбору визначає, яким чином слід будувати популяцію наступного покоління. У будь-якому випадку кожне наступне покоління буде в середньому краще попереднього. Коли пристосованість індивідів перестає помітно збільшуватися, процес зупиняють і як рішення задачі оптимізації беруть найкращого зі знайдених індивідів.


3.3 Методи розвязання багатокритеріальної задачі за допомогою генетичних алгоритмів


Генетичний алгоритм, застосовуваний для вирішення конкретного завдання, повинен складатися з наступних основних компонентів:

. Представлення потенційних рішень задачі.

. Способ, яким створюється початкова популяція можливих рішень.

. Функции оцінки рішень, яка грає роль зовнішнього середовища, визначальна рішення в сенсі їх придатності.

. Генетіческіе оператори, які змінюють склад дітей (нащадків).

. Значенія різних параметрів, які використовуються генетичним алгоритмом У багатокритеріальних генетичних алгоритмах за основу береться загальний еволюційний алгоритм складається з представлених основних компонентів. Але при розробці конкретних методів вирішення багатокритеріальних завдань генетичними алгоритмами упор робиться на модифікацію етапів призначення придатності та селекції з підтриманням різноманітності популяції, які будуються на підставі підходів,

У магістерській роботі досліджувалися 4 методу, що реалізують різні схеми призначення придатності та селекції, про яких і піде мова далі:

. VEGA - Vector Evaluated Genetic Algorithm;

.FFGA - Fonseca and Fleming's Multiobjective Genetic Algorithm;

.NPGA - Niched Pareto Genetic Algorithm;

.SPEA - Strength Pareto Evolutionary Algorithm.

Метод VEGA (vector eveluted genetic algorithm)

Метод VEGA, який вперше був запропонований в 1984 році Шафером, відноситься до категорії селекції за перемикав цільовим функцій. У цьому методі селекція виробляється для кожного з критеріїв окремо, тим самим проміжна популяція заповнюється рівними порціями індивідів, відібраних по кожному з критеріїв.

Призначення придатності та селекція в методі VEGA:

Вхідні дані: (поточна популяція).

Вихід: (проміжна популяція).

Крок 1: покласти = 1, і = 0.

Крок 2: для кожного індивіда, , обчислити


Крок 3: для


вибрати індивіда , використовуючи вибраний механізм селекції, грунтуючись на значенні придатності за даним критерієм, і скопіювати його в


: = +


Крок 4: покласти


= +1


Крок 5: якщо , перейти на крок 2, інакше - результуюча проміжна популяція.

Розглянутий механізм селекції. Таким чином, для кожного з критеріїв створюється подпопуляція розміром , де - розмір всієї популяції, куди індивіди відбираються за допомогою пропорційної селекції щодо придатності за кожним критерієм окремо, а потім всі подпопуляціі змішуються для отримання популяції знову розміром . Далі, як звичайно, здійснюються етапи 4 (схрещування) та 5 (мутація) згідно зі схемою загального еволюційного алгоритму.

Метод FFGA (finseca and fleming's multiobjective genetic algorithm)

Метод FFGA (1993) являє собою засновану на Парето-домінуванні процедуру ранжирування індивідів, де ранг кожного індивіда визначається числом домінуючих його індивідів.


'

Рис. 3.6. Механізм селекції в методі VEGA.


Призначення придатності в методі FFGA:

Вхід: (популяція).

Вихід: (значення придатності).

Крок 1. Для кожного індивіда обчислити його ранг


Крок 2. Відсортувати популяцію згідно з рангами . Призначити кожному індивіду допомогою інтерполяції від кращого індивіда до гіршого сиру придатність , тобто кращому індивіду призначається сира придатність = а гіршого () - сира придатність = 1.

Крок 3. Обчислити значення придатності для кожного індивіда за допомогою усереднення і ділення сирої придатності між індивідами, що мають однаковий ранг:



- Індивіди, що мають однаковий ранг , - кількість індивідів, що мають ранг r. Ділення придатності здійснюється в критеріальною просторі.

Метод FFGA реалізує лише схему призначення придатності, а для відбору індивідів у наступне покоління використовується процедура турнірній селекції з розміром турніру = 2, яка здійснюється на підставі отриманих значень придатності кожного індивіда,



На рис. 3.6 представлені гіпотетична популяція і відповідні ранги індивідів, призначені згідно розглянутої схемою методу FFGA. Індивіди, чиї відповідні рішення недомініруемих щодо всієї популяції, мають ранг 1, у той час як найгірший індивід, домінованих усіма членами популяції отримує ранг 10.

Рис. 3.7. Механізм селекції в методі FFGA.


У цьому методі використовується поняття придатності, але, на відміну від придатності в алгоритмі VEGA, вона призначається не для кожного критерію окремо, а для індивіда в цілому і визначається не значеннями цільових функцій, а рангом кожного індивіда в популяції, який у свою чергу заснований на понятті домінування[20].

Метод NPGA (niched pareto genetic algorithm)

Третій даний у роботі метод - NPGA (1994) - принципово відрізняється від двох попередніх, тому що в ньому закладено механізм підтримки різноманіття (діє в критеріальною просторі). Метод NPGA являє собою комбінацію турнірній селекції та концепції домінування по Парето.

Призначення придатності та селекція в методі NPGA:

Вхідними даними для цього методу є:

(Популяція),

(Радіус ніші),

(Тиск домінування - кількість індивідів у порівняльному безлічі).

Вихід: (проміжна популяція).

Крок 1. Покласти = 1 і проміжну популяцію = 0.

Крок 2. Вибрати двох індивідів і порівняльне безліч, що складається з випадково обраних індивідів популяції.

Крок 3. Перевірити умову: якщо недомініруем відносно, а доминируется індивідами порівняльного безлічі, то переможцем турніру є індивід:


=+


Крок 4. Інакше, якщо недомініруем відносно, а - домінуємо, то переможцем турніру стає індивід:


=+


Крок 5. Якщо переможець турніру не визначився, турнір дозволяється діленням загальної придатності:

а) обчислити кількість індивідів у частково заповненою проміжної популяції, які знаходяться від індивіда на відстані, що не перевищує радіус ніші


; Проробити те ж для індивіда.


б) якщо, то


=+, інакше =+


тобто, якщо кількість індивідів, близьких до індивіда більше, ніж кількість індивідів, близьких до індивіда, то в проміжну популяцію переходить--ий індивід, інакше там виявляється індивід. Останньою процедурою і забезпечується різноманітність популяції.

Крок 6. Покласти


=+1


Якщо, перейти на крок 2, інакше стоп.

На рис. 4.4 проілюстрований механізм Парето турніру: зіставлення 2-х індивідів популяції з порівняльним безліччю індивідів. Учасник турніру, позначений сірої точкою, є його переможцем, так як на відміну від іншого учасника, закодований вектор даного індивіда не домінують представниками порівняльного множини.


Рис 3.8. Порівняльні множини


У розглянутому методі не використовується поняття придатності як таке, а етап призначення придатності замінюється модифікованої схемою розподілу придатності з використанням поняття ніш, які визначаються для індивідів у просторі цільових функцій.

Метод SPEA (Strength Pareto Evolutionary Algorithm)

Метод SPEA (1998) в корені відрізняється від розглянутих раніше методів, так як в ньому [23]:

-для призначення індивідам скалярного значення придатності використовується концепція Парето домінування;

індивіди, недомініруемих щодо інших членів популяції, зберігаються зовні в спеціальному зовнішньому безлічі;

-для зменшення кількості індивідів, що зберігаються в зовнішньому безлічі, виконується кластеризація, що в свою чергу ніяк не впливає на придбані в процесі пошуку властивості індивідів.

Унікальність та переваги методу SPEA полягають в тому, що:

-він поєднує вищеперелічені підходи в одному алгоритмі;

-придатність кожного індивіда популяції в даному методі визначається тільки щодо індивідів зовнішнього безлічі, незалежно від того, домінують чи індивіди популяції один одного;

-незважаючи на те, що «кращі» індивіди, отримані в попередніх поколіннях, зберігаються окремо - у зовнішньому безлічі, всі вони беруть участь у селекції;

а, для запобігання передчасної збіжності, в методі SPEA використовується особливий механізм утворення ніш, де поділ загальної придатності здійснюється не в сенсі відстані між індивідами, а на основі Парето домінування.

Процедура методу SPEA [23]:

Вхід: (розмір популяції),

- (Розмір зовнішнього безлічі),

- (Максимальне число поколінь),

- (Ймовірність схрещування),

- (Ймовірність мутації).

Вихід: (недомініруемих безліч).

Крок 1. Ініціалізація:

Створити початкову популяцію , згідно 1 етапу схеми загального еволюційного алгоритму, і пусте зовнішнє безліч . Покласти = 0.

Крок 2. Модернізація зовнішнього безлічі:

Покласти проміжне зовнішнє безліч .

а) скопіювати індивідів, чиї вектори рішень недомініруемих щодо


в :=+


б) видалити тих індивідів з, чиї відповідні вектори рішень слабо домінованих відносно, тобто, якщо існує пара з індивідами і , то


=-


в) зменшити допомогою кластеризації (з параметрами і ) число індивідів, що зберігаються в зовнішньому безлічі, і помістити результуюче зменшене безліч в.

Крок 3. Призначення придатності:

Обчислити значення придатності індивідів в і.

Крок 4. Селекція:

Покласти = 0 і для

виконати:

а) випадковим чином вибрати двох індивідів


б) якщо, то


= +, Інакше

= + (У разі завдання мінімізації).


Крок 5. Рекомбінація:

Рекомбінація здійснюється згідно 4 етапу в схемі загального еволюційного алгоритму.

Крок 6. Мутація:

Мутація здійснюється згідно 5 етапу у схемі загального еволюційного алгоритму.

Крок 7. Закінчення:

Покласти і . Якщо або виконується якийсь інший критерій зупинки, тоді

- Є шукане недомініруемих безліч, інакше перейти на крок 2.

Основний цикл описаного алгоритму схематично зображений на рис. 3.8. Крок 1 не позначений на представленому малюнку, так як ініціалізація початкової популяції здійснюється один раз і є обов'язковим первинним етапом будь-якого еволюційного алгоритму. Далі, на початку кожної ітерації (Крок 2) відбувається модернізація зовнішнього безлічі і його зменшення, якщо максимальний розмір був перевищений. Після цього відбувається оцінка індивідів з відносно індивідів зовнішнього безлічі для призначення індивідам популяції значень придатності (Крок 3). Наступний крок (Крок 4) представляє фазу селекції, коли відбираються індивіди з об'єднаного безлічі + для заповнення проміжної популяції (у даній схемі використовується турнірна селекція з видаленням індивіда, «переможеного» турнір). Нарешті, схрещування і мутація (Крок 5 і Крок 6) здійснюються як відповідні етапи загального еволюційно алгоритму.


Рис. 3.9. Основні кроки методу SPEA


Однак у схемі методу SPEA етап призначення придатності здійснюється не так, як у загальному еволюційному алгоритмі, а являє собою модифіковану процедуру, засновану на концепції Парето домінування. Поряд з цим етапом, механізм кластеризації, використовуваний для зменшення кількості індивідів в зовнішньому безлічі, також здійснюється за особливою схемою. Алгоритми покрокової реалізації обох процедур представлені нижче.

Призначення придатності в методі SPEA:

Вхід: (популяція),

(Зовнішнє безліч).

Вихід: (значення придатності).

Крок 1. Кожному індивіду присвоюється значення, зване «силою» індивіда (відображає придатність недомініруемих рішення), яке пропорційно кількості членів популяції, для яких:



Таким чином, придатність індивіда, що належить зовнішньому безлічі, дорівнює його «силі»: .

Крок 2. Придатність індивіда обчислюється за допомогою підсумовування «сил» всіх індивідів, що зберігаються в зовнішньому безлічі, чиї вектори рішень слабо домінують. До загального отриманого числа додається одиниця, щоб гарантувати, що індивіди зовнішнього безлічі мають кращу придатність, в порівнянні з індивідами з (тобто, чим менше придатність, тим у індивіда більше шансів перейти в наступне покоління):


, Де .


Щоб механізм ранжирування став більш зрозумілим, звернемося до рис. 3.9. П'ять недомініруемих рішень, позначених сірими точками, розбивають область критеріального простору на прямокутники. Кожна підмножина зовнішнього безлічі визначає один такий прямокутник, який представляє область в критеріальною просторі, яка в загальному домінується усіма векторами рішень в . Наприклад, на представленому малюнку світлий прямокутник в нижньому лівому кутку доминируется усіма векторами рішень у , в той час як верхній лівий світлий прямокутник доминируется тільки . Прямокутники тут розглядаються як ніші, а мета полягає в тому, щоб так розподілити індивідів за штучно створеної сітці, щоб прямокутники (темні), домінованих тільки кількома , містили більше індивідів, ніж прямокутники (світлі), домінованих великою кількістю індивідів з , а також два прямокутника (однаково забарвлені) повинні містити однакову кількість індивідів, якщо вони домінують рівною кількістю рішень. Цей механізм відображає ідею переваги індивідів, розташованих поблизу Парето-оптимального фронту і, в той же час, їх розподілу вздовж всього простору пошуку, що можна бачити на рис. 3.9. індивіди, зосереджені в світлих прямокутниках, уздовж недомініруемих точок, отримують кращу придатність, ніж залишилися члени популяції, а при видаленні від фронту Парето, придатність індивідів погіршується.


Рис 3.10.Механізм селекції в методі SPEA.


Механізм кластеризації в методі SPEA:

Вхід: (зовнішнє безліч),

(Розмір зовнішнього безлічі).

Вихід: (модернізоване зовнішнє безліч).

Крок 1. Ініціалізувати безліч кластерів. Кожен індивід утворює окремий кластер:



Крок 2. Якщо, перейти на Крок 5, інакше перейти на Крок 3.

Крок 3. Обчислити відстані між усіма можливими парами кластерів. Віддаленість двох кластерів і один від одного визначається як середня відстань між парами індивідів, що належать цим кластерам:



де функція відображає відстань (у просторі цілей) між двома індивідами і .

Крок 4. Визначити два кластери і з мінімальним відстанню. Ці кластери об'єднуються в один більший за розміром кластер:



Перейти на Крок 2.

Крок 5. Для кожного кластера вибрати репрезентативного індивіда, а всіх інших індивідів з нього видалити. (Таким чином, репрезентативний індивід - це крапка з мінімальним середнім відстанню до всіх інших точок кластеру.) Визначити зменшене недомініруемих безліч шляхом об'єднання репрезентативних індивідів всіх кластерів:


При вирішенні деяких завдань, розмір множини Парето може бути досить значним і навіть містити нескінченне число рішень. Однак, з точки зору ОПР, знаходження всіх недомініруемих рішень, коли їх кількість перевищує розумні межі, є марним. Більше того, розмір зовнішнього безлічі впливає на поведінку методу SPEA. З одного боку, так як всі індивіди зовнішнього безлічі беруть участь в селекції, занадто велика кількість зберігаються зовні індивідів може зменшити селективне тиск і сповільнити пошук. З іншого боку, посилений механізм нішірованія грунтується на освіті так званої «сітки», яка визначається індивідами зовнішнього множини і, якщо індивіди з розкидані нерівномірно, представлений вище метод призначення придатності направить алгоритм в певні області пошукового простору, що, у свою чергу, призведе до незбалансованості в популяції. Тому, часом може бути необхідним і навіть обов'язковим зменшення розмірів зовнішнього безлічі, при збереженні його основних характеристик[21].

Варто також зауважити, що можливість апріорного завдання кількості підсумкових точок Парето є дуже корисною характеристикою представленого підходу і, в ряді випадків, визначальним фактором, що значно полегшує для ОПР вибір остаточної альтернативи.

Таким чином, в даному розділі були розглянуті 4 алгоритму, що реалізують етапи призначення придатності та / або селекції у схемі загального еволюційного алгоритму.



4. Розробка програмного забезпечення SEO-системи


.1 Обгрунтування вибору засобів розробки


При розробці програмного забезпечення використовувався XAMPP 1.7.7 версії.(джентльменський набір Web-розробника)- кроссплатформенная збірка веб-сервера, що містить Apache, MySQL, інтерпретатор скриптів PHP, мова програмування Perl і велика кількість додаткових бібліотек, що дозволяють запустити повноцінний веб-сервер.

У базовий пакет XAMPP входить:

Веб-сервер Apache з підтримкою SSI, SSL, mod_rewrite, mod_php.

Інтерпретатор PHP з підтримкою GD, MySQL, SQLite.

СУБД MySQL з підтримкою транзакцій (mysqld-max).

Система управління віртуальними хостами, заснована на шаблонах.

Система управління запуском і завершенням.

Панель phpMyAdmin для адміністрування СУБД.

Ядро інтерпретатора Perl без стандартних бібліотек (поставляються окремо).

Емулятор sendmail і сервера SMTP з підтримкою роботи спільно з PHP, Perl, arser та ін.

Відразу після установки доступний повністю працюючий веб-сервер Apache, що працює на локальному комп'ютері, на якому може працювати необмежена кількість сайтів, що дуже ефективно для розробки та налагодження сценаріїв PHP без завантаження його файлів на віддалений сервер. Для запуску практично всіх утиліт «XAMPP» відкриється вікно, в

якому нам пропонується вибрати шлях для розміщення сервера. За замовчуванням це диск C: \. не будемо змінювати шлях і встановлю сервер на запропонований диск. Натискаємо кнопку Install і чекаємо поки дистрибутив повністю розпакується У нього входять, потім натискаємо кнопку пуск Enter.

Рис.4.1.Панель веб сервісу XAMPP

(Svc) - устанавливает модуль в качестве службы Windows (если вы хотите запускать какой либо модуль (Apache, MySQL и т.д.) как службу, то отмечаем соответствующие флажки)- запускует администрирование модулем (Admin напротив модуля Apache - откроет окно приветствия XAMPP, выбираем язык. И попадаем в веб-интерфейс XAMPP, здесь можно проверить демонстрационные примеры в разделе Demos, узнать информацию о модулях и т.д. Admin напротив модуля MySQL - запустит phpMyAdmin)- запуск командной строки для работы с сервером;- открывает командную строку для настройки XAMPP;Check - проверка портов;- открывает папку в которую установлен XAMPP, в нашем случае C:\xampp;- открывает окно управления службами Windows;- обновление состояния модулей;

Запускается XAMPP с помощью ярлыка на рабочем столе или в меню пуск, если же вы при установке отказались от создания ярлыков, вы можете запустить XAMPP с помощью файла xampp-control.exe в директории C:\xampp, там же вы можете увидеть все остальные ярлыки, которыми можно запустить отдельные модули, деинсталировать XAMPP и т.п.

Иконка XAMPP удобно сидит в трее и при щелчке левой кнопки мыши открывает панель управления (XAMPP Control Panel).

Запускаем модули Apache и MySQL (кнопки Start), набираем в браузере localhost (или жмем Admin напротив модуля Apache):


Рис 4.2.Запуск модуля Apache і MySQL

(англ. PHP: Hypertext Preprocessor - «PHP: препроцесор гіпертексту», «Інструменти для створення персональних веб-сторінок») - скриптова мова програмування загального призначення, інтенсивно застосовується для розробки веб-додатків. В даний час підтримується переважною більшістю хостинг-провайдерів і є одним з лідерів серед мов програмування, що застосовуються для створення динамічних веб-сайтів.

Популярність в області побудови веб-сайтів визначається наявністю великого набору вбудованих засобів для розробки веб-додатків.

Основні з них:

Автоматичне витяг POST і GET-параметрів, а також змінних оточення веб-сервера в зумовлені масиви;

Взаємодія з великою кількістю різних систем управління базами даних (MySQL, MySQLi, SQLite, PostgreSQL, Oracle (OCI8), Oracle, Microsoft SQL Server, Sybase, ODBC, mSQL, IBM DB2, Cloudscape і Apache Derby, Informix, Ovrimos SQL, Lotus Notes, DB + +, DBM, dBase, DBX, FrontBase, FilePro, Ingres II, SESAM, Firebird / InterBase, Paradox File Access, MaxDB, Інтерфейс PDO);

Автоматизована відправка HTTP-заголовків;

Робота з HTTP-авторизацією;

Робота з cookies і сесіями;

Робота з локальними і віддаленими файлами, сокетами.

Обробка файлів, що завантажуються на сервер;

Робота з XForms;

В даний час PHP використовується сотнями тисяч розробників. Згідно з рейтингом корпорації TIOBE, що базується на даних пошукових систем, в квітні 2011 року PHP знаходився на 5 місці серед мов програмування. До найбільших сайтів, які використовують PHP, відносяться Facebook, Вконтакте, Wikipedia та ін

Входить в LAMP - поширений набір програмного забезпечення для створення веб-сайтів (Linux, Apache, MySQL, PHP).


4.2 Реалізація функций RSS каналів


Пишемо кодування з UTF-8 в Windows-1251

<?codirovkaAgregator ($ codirovka) {@ iconv ("UTF-8", "windows-1251", $ codirovka);

};

Вікно пошук RSS каналів пошук для читання документації користувачів на сайті


Рис 4.3 Вікно пошуку RSS каналів


Середа разроботки Net Beans 7.2


Рис 4.4. Середа разробоки Net Beans 7.2


4.3 Інтерфейс взаємодії тестування і читання RSS каналів відвідувачами сайту


Для зручної перевірки документів на наявність запозичень буврозроблено зручний веб-інтерфейс, який був впроваджений в читання RSS каналів. Доступ до нього користувач отримує тільки пошукова система. Поле Опис каналу дає можливість розширити на широкі теми на RSS-канал. Опис каналу повинна містити відповідні ключові слова і фрази, але вона повинна бути написана для захоплення інтересу читачів не пошук павуки двигуна. HTML може використовуватися для прикраси і підкреслити певний текст у полі Опис. У підсумовуванні опис каналу повинна забезпечити переконливих огляд вміст RSS-канал.


Рис 4.5. Відвідуівачі на сайті


Рис 4.6. Статистика ключових слів


Рис 4.7. Кількість слів у пошуковому запиту


Для реалізації відвідуваності можна застосувати:

Статистичні сервіси, або лічильники відвідувань.

Аналізатори журнальних записів, або аналізатори логів.

Статистичні сервіси надають сервери, для яких збір статистичних даних є основним призначенням, аналізатори - на сервері, де розміщено даний сайт. Для збору статистичних даних можна поєднувати обидва підходи.. Зручний, з великою кількістю звітів. Є рейтинг сайтів-учасників, а також програма моніторингу відвідуваності в реальному часі. .ru. Надає глобальну статистику у відкритому доступі.


Рис 4.8. Кількістю пошукових запитів в місяць



Висновки


У ході роботи була досліджена оптимізації методів розташування імережевих пошукових системах інформаційніх ресурсах різними методами допомогою спеціальних вірно обраних ключових слів, так само підвищенню індексації сайту служила на наявність посилань на авторитетні веб ресурси, на частоту відновлення сайту також розробка тестування і читання RSS каналів відвідувачами сайту, було розглянуто пьять роздів, загальні вимоги при застосування пошукових систем, опис пошукових систем (Яндекс,Google,Рунет), підвищення трафіку, графи станів рейтингом сайту, віді станів, ймовірності станів розробка математичної моделі, дослідження моделі кількома методами,було проведення внутрішнього та зовнішнього аудиту охорони праці.


Перелік використаних джерел


1. Ашманов І.С., Іванов А.А. Просування сайту в пошукових системах. - М.: Вільямс, 2010. - 304 с.

. Ашманов І.С., Іванов А.А. Оптимізація і просування сайтів в пошукових системах. - СПб.: Питер, 2009. - 400 с.

. Байков В. Д. Інтернет. Пошук інформації. Просування сайтів. -СПб.: БХВ-Петербург, 2011. - 288 с.

. Бенкен Є. PHP, MySQL, XML. Програмування для Інтернету. -СПб.: БХВ-Петербург, 2009. - 336 с.

. Булакін М.Б., Лисенко д.с, Чайников Ю.С.Збільшення відвідуваності порталу «Російське освіта» на основі аналізу пошукових запитів / / Праці XIV Всеросійської науково-технічній конференції «Телематика 2007»- СПб., 2011. - С. 366-369.

. Грідіна Є.Г.,Лисенко Д.С.Використання пошукових систем для збільшення відвідуваності федеральної системи інформаційно-освітніх ресурсів /,2011.-С.43-48.

7. Губін М.В. Моделі та методи представлення текстового документа в системах інформаційного пошуку: дис.... канд. фіз.-мат. наук:05.13.11.-СПб., 2010.

. Гусєв B.C. Аналітика веб-сайтів. Використання аналітичних

інструментів для просування в Інтернет. - М.: Діалектика, Вільямс, 2010. - 176 с.

.Дамашке Г. РНР і MySQL = PHP & MySQL. - М.: НТ Прес, 2009.

. Дорнфест P.,Бош П., Калішейн Т.. Секрети Google. Трюки і тонка настройка. = Google Hacks:Tips & Tools Finding and Using the World's Information.-Б.м.:Російська Редакція, 2009.-748с.

11. Євдокимов М. В. Розкрутка Web-сайтів. Ефективна Інтернет-комерція. - М.: Вільямс, 2008. - 160 с.

. Євдокимов М., Лебединський І. Розкрутка веб-сайту. Практичнее керівництво. - М.: Вільямс, 2011. - 288 с.

.Євдокимов Н.В.Основи тематичній оптимізації.Ефективна інтернет-комерція і просування сайтів в інтернет.-М:Вільямс,2007.-160с.

.Зандстра М. РНР. Об'єкти, шаблони і методики програмування РНР: Objects, Patterns, and Practice. - M.: Вільямс, 2011.-560с

. Зуєв М.Б., Маурус П.А., Прокоф'єв А.Г. Просування сайтів в пошукових системах. Рятівне коло для малого бізнесу.-М:Біном,2007.-304с.

. Інтернет-маркетинг на 100%. - СПб.: Питер, 2009. - 240 с.

.Кліфтон Бр.Google Analytics.Професійний аналіз відвідуваності веб-сайтів.=Advanced Web Metrics with Google Analytics.-M.Вільямс,2009-400с.

. Колісниченко Д. Н.Пошукові системи та просування сайтів в Інтернеті.-М.Діалектика, 2007.-272с.

. Кошик А. Веб-аналітика. Аналіз інформації про відвідувачів вебсайтів.= Web Analytics: An Hour A Day. - M.: Діалектика, Вільямс, 2009. - 464 с.

.Кузнєцов М.,Сімдянов І.РНРПрактика створення Web-сайтів.-СПб. БХВ- Петербург,2008.-1244с.

. Гуменнікова, А.В. Про еволюційних алгоритмах розв'язання складних задач оптимізації / О.В. Гуменнікова, М.Н. Ємельянова, Є.С. Семенкін,2009.-300c



Додаток


Лістинг коду программи


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<title>Untitled Document</title>

<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">

</head>


<body>

<table width="100%" height="100" border="1" cellpadding="20" cellspacing="0">

<tr>

<td width="150">Логотип</td>

<td>Название Вашего сайта</td>

</tr>

<tr>

<td width="150" valign="top">Меню по сайту</td>

<td valign="top">

<?

$text='<font color="#666666">

Укажите адрес RSS канала, который вы хотите прочитать.

<br>

Пример: #"justify"></font>';

// УКАЗЫВАЕТЕ НАДПИСЬ КОТОРАЯ БУДЕТ ОТОБРАЖАТЬСЯ ПОД ФОРМОЙ.('../lib/agregatorrss.php'); // ПОДКЛЮЧАЕТЕ ФАЙЛ ЧИТАЮЩИИ RSS КАНАЛ И ВЫВОДЯЩИИ НА ЭКРАН.

?>

</td>

</tr>

</table>

</body>

</html>


Лістинг коду файлу Agregatorrss.php

<?codirovkaAgregator($codirovka) { @iconv("UTF-8","windows-1251",$codirovka);

};

Securyty($stringa) { stripslashes(strtr(strtr(substr(strip_tags(trim($stringa)),0,2000), ">", " "),"<"," "));

};

$file_name_agregator=@Securyty($HTTP_POST_VARS[file_name_agregator]);

?>

<form action="" method="post">

<table width="100%" border="0" cellpadding="5" cellspacing="0" bgcolor="#FF9900">

<tr>


<td width="40%">

<input type="text" name="file_name_agregator" size="80" value="<? if($file_name_agregator<>''){ echo $file_name_agregator;}?>">

</td>

<td><input type="submit" name="Submit" value="Submit"></td>

</tr>

<tr>

<td><? echo @$text;?></td>


<td align="right" valign="bottom"><a href="#"justify"></tr>

</table>

</form>


<? ($file_name_agregator<>'')

{

?>

<?

$url=$file_name_agregator;

startElementAgregator($parser, $name, $attrs) { $tag, $rss; ($name == 'RSS')

$rss = '^RSS'; ($name == 'RDF:RDF')

$rss = '^RDF:RDF';


$tag.= '^'. $name;

} endElementAgregator($parser, $name) { $tag; $itemCount, $items; ($name == 'ITEM') {

$itemCount++; (!isset($items[$itemCount])) $items[$itemCount] = array('title' => '', 'link' => '', 'desc' => '', 'pubdate' => '');

}


$tag = substr($tag, 0, strrpos($tag, '^'));

}

characterDataAgregator($parser, $data) { $tag, $chanTitle, $chanLink, $chanDesc, $rss, $imgTitle, $imgLink, $imgUrl; $items, $itemCount;


$rssChannel = ''; ($data) { ($tag == $rss. '^CHANNEL^TITLE') {

$chanTitle.= $data;

} elseif ($tag == $rss. '^CHANNEL^LINK') {

$chanLink.= $data;

} elseif ($tag == $rss. '^CHANNEL^DESCRIPTION') {

$chanDesc.= $data;

} ($rss == '^RSS') $rssChannel = '^CHANNEL';

($tag == $rss. $rssChannel. '^ITEM^TITLE') {

$items[$itemCount]['title'].= $data;

} elseif ($tag == $rss. $rssChannel. '^ITEM^LINK') {

$items[$itemCount]['link'].= $data;

} elseif ($tag == $rss. $rssChannel. '^ITEM^DESCRIPTION') {

$items[$itemCount]['desc'].= $data;

} elseif ($tag == $rss. $rssChannel. '^ITEM^PUBDATE') {

$items[$itemCount]['pubdate'].= $data;

} elseif ($tag == $rss. $rssChannel. '^IMAGE^TITLE') {

$imgTitle.= $data;

} elseif ($tag == $rss. $rssChannel. '^IMAGE^LINK') {

$imgLink.= $data;

} elseif ($tag == $rss. $rssChannel. '^IMAGE^URL') {

$imgUrl.= $data;

}

}


}

parseRSSAgregator($url) { $tag, $chanTitle, $chanLink, $chanDesc, $rss, $items, $itemCount, $imgTitle, $imgLink, $imgUrl;

$chanTitle = '';

$chanLink = '';

$chanDesc = '';

$imgTitle = '';

$imgLink = '';

$imgUrl = '';

$tag = '';

$rss = '';

$items, $itemCount;

$itemCount = 0;

$items = array(0 => array('title' => '', 'link' => '', 'desc' => '', 'pubdate' => ''));


$xml_parser = xml_parser_create(); _set_element_handler($xml_parser, "startElementAgregator", "endElementAgregator"); _set_character_data_handler($xml_parser, "characterDataAgregator");


@$fp = fopen($url, "r");

$data = ""; (true) {

@$datas = fread($fp, 4096); (strlen($datas) == 0) { ;

}

$data.= $datas;

}


@fclose($fp);

($data!= '') {

$xmlresult = xml_parse($xml_parser, $data);

$xmlerror = xml_error_string(xml_get_error_code($xml_parser));

$xmlcrtline = xml_get_current_line_number($xml_parser);

($xmlresult) (); ("Error parsing this feed!<br />Error: ".@$xmlError.", at line: ".@$xmlCrtline."");

} else { ("Error while retriving feed ".$url."");

}

_parser_free($xml_parser);

}

displayDataAgregator() { $chanTitle, $chanLink, $chanDesc, $rss, $items, $itemCount, $imgTitle, $imgLink, $imgUrl; $items, $itemCount;

?>


<? echo '<h2><a href="'.codirovkaAgregator($chanLink).'" target="_blank">'.codirovkaAgregator($chanTitle).'</a></h2> ';?>

<? echo codirovkaAgregator($chanDesc);?>

<? echo'<a href="'.codirovkaAgregator($imgLink).'" target="_blank"><img src="'.codirovkaAgregator($imgUrl).'" alt="'.codirovkaAgregator($imgTitle).'" border="0" /></a> ';?>


<?($i = 0;$i < count($items)-1;$i++) {

(@$items[$i]['link']<>''){

?>

<? echo '<h4>'.codirovkaAgregator(@$items[$i]['title']).'</h4>';?>

<? echo '<h5>'.codirovkaAgregator(@$items[$i]['pubdate']).'</h5>';?>

<? echo codirovkaAgregator(@$items[$i]['desc']);?>

<? echo '<br><a href="'.codirovkaAgregator(@$items[$i]['link']).'" target="_blank"> '.codirovkaAgregator(@$items[$i]['link']).'</a> <hr size="1">';?>


<?

}

}

?>

<?

}($url);

?>


<? }?>

<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">



Пояснювальна записка до дипломної роботи Дослідження методів оптимізації розташування посилань на інфо

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ