Аналіз та дослідження зв’язків між вузлами соціальної мережі в Інтернеті

  • Вид работы:
    Дипломная (ВКР)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Украинский
    ,
    Формат файла:
    MS Word
    1,86 Мб
  • Опубликовано:
    2014-08-15
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Аналіз та дослідження зв’язків між вузлами соціальної мережі в Інтернеті

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ УКРАЇНИ

“КИЇВСЬКИЙ ПОЛІТЕХНІЧНИЙ ІНСТИТУТ”

Факультет прикладної математики

Кафедра прикладної математики









ПОЯСНЮВАЛЬНА ЗАПИСКА

до дипломної роботи (магістерської дисертації)

освітньо-кваліфікаційного рівня “магістр”

з напряму підготовки Прикладна математика

на тему: Аналіз та дослідження зв’язків між вузлами соціальної мережі в Інтернеті


Студент групи КМ-34М Коркін Сергій Вікторович

Керівник проекту д.т.н., проф.,ДРОБИШЕВ Ю.П.

Консультанти: економічно-організаційний розділ

к.е.н., доц., БЕРЕЗОВСЬКИЙ К.В.

 

 

 

Київ - 2009

РЕФЕРАТ

Об’єкт дослідження - соціальні мережі в Інтернеті, вузли соціальної мережі і зв’язки між ними.

Предмет дослідження - база данних соціальної мережі connect.ua, статистична інформація.

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

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

Результати роботи та наукова новизна одержаних результатів. В результаті виконання наукових досліджень були знайденні статистичні закономірності у базі данних соціальної мережі. При цьому:

− досліджені існуючі соціальні мережі;

− проведений аналіз статистичних данних соціальої мережі;

− досліджена психологія поведінки користувача у соціальній мережі.

Результати роботи застосовуються при розробці соціальної мережі connect.ua.

Апробація результатів магістерської дисертації. Основні наукові результати були представлені та обговорювались на «Українському форумі інтернет діячів» (м.Київ, 2009); VІІІ Міжнародній конференції
"Інтернет-Бізнес' 2009" (м.Київ, 2008), «Українському регіональному інтернет-форумі» (м.Донецьк, 2008).

Результати роботи успішно застосовані при реалізації соціальної мережі connect.ua, яка наразі налічує більш ніж 650 тисяч користувачів.

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

Ключові слова

СОЦІАЛЬНА МЕРЕЖА, ПСИХОЛОГІЯ ПОВЕДІНКИ КОРИСТУВАЧА, СТАТИСТИЧНИЙ АНАЛІЗ, ВУЗЛИ СОЦІАЛЬНОЇ МЕРЕЖІ, ІНТЕРНЕТ-САЙТ

SUMMARY

математичний соціальний мережа інтернет

The structure and the scope of the thesis. The master thesis consists of introduction, five chapters, conclusion, list of references with 80 items, 2 appendixes and includes 17 tables and 16 figures.object of research - an informative resource of informativecommunicative system of organization system

The subject of research - system engineering business-processes for informative resource: analysis, design, creation and deployment.goal of the thesis is the research of methods and the development of the technology for informative resources production.methods. Applied system analysis and component approach were used for design process of informative resource of informative-communicative system. Modeling was made with visual modeling methods, such as UML. Mathematical modeling was used. Research results and the scientific novelty. As a result of the given scientific research component approach for informative resources design and development was offered. The results of research are the following:

− modern automatized design tools for informative resources were studied;

− the analysis of information measurement methods was made and the possibilities of their application for several types of resources were studied;

− the technology of resource production as a set of components with defined interfaces was offered.thesis results are recommended to use for development of informative resource as a component of an informative-communicative system.thesis result approbation. The main scientific results were presented and discussed on: IX, X International scientific-practical conference ―System analysis and information technologies‖ (Kyiv, 2007, 2008); ХІІІ Ukrainian scientific-practical conference ―Modern problems of applied mathematics and informatics‖, (Lviv, 2006); I, II Ukrainian scientific-practical conference ―Modern information technologies trends in science, education and economics‖ (Lugansk, 2007, 2008); II, III International scientific-practical conference ―Information technologies in economical and technical systems‖, ( Kremenchuk, 2007, 2008). By the results of research 13 scientific papers were published, including 6 articles in specialized scientific journals. Effect of technology usage was proved with development of several informatisation projects.research may focus integration of efficiency parameters in the production system, project optimization and enhancement of information measurement approaches.

KeywordsRESOURCE, INFORMATIVE-COMMUNICATIVE SYSTEM, ICS SYSTEM DESIGN, VISUAL MODELLING, INFORMATIVE RESOURCE PRODUCTION, INFORMATIVE COLLECTOR.

ЗМІСТ

ЗМІСТ

ПЕРЕЛІК УМОВНИХ ПОЗНАЧЕНЬ, СКОРОЧЕНЬ ТА ТЕРМІНІВ

ВСТУП

РОЗДІЛ 1. ОРГАНІЗАЦІЙНО-ЄКОНОМІЧНИЙ РОЗДІЛ

.1 ОЦІНКА РІВНЯ ЯКОСТІ ПРОГРАМНОГО ПРОДУКТУ

.1.1 Вихідні положення

.1.2 Обґрунтування системи параметрів програмного продукту

.1.3 Визначення коефіцієнтів вагомості параметрів ПП

.2 АНАЛІЗ ВАРІАНТІВ РЕАЛІЗАЦІЇ ФУНКЦІЙ

.2.1 Виділення основних функцій

.2.2 Розробка варіантів виконання основних функцій ПП

.2.3 Аналіз варіантів реалізації функцій ПП

.3 ВАРТІСНИЙ АНАЛІЗ ВАРІАНТІВ ПРОГРАМНОГО ПРОДУКТУ

.4 ВИБІР КРАЩОГО ВАРІАНТА ЗА КРИТЕРІЄМ ЕФЕКТИВНОСТІ

.5 ВИСНОВКИ

РОЗДІЛ 2. ОБ'ЄКТ ДОСЛІДЖЕННЯ - СОЦІАЛЬНА МЕРЕЖА

.1 ЗАГАЛЬНА ІНФОРМАЦІЯ ПРО СОЦІАЛЬНІ МЕРЕЖІ

.2 ЗАСТОСУВАННЯ ТЕОРІЇ СОЦІАЛЬНИХ МЕРЕЖ

.2.1 Застосування в соціології

.2.2 Застосування в єкономіці

.2.3 Соціальні мережі в Інтернеті

.3 СТРУКТУРЫ И ТИПЫ СЕТЕЙ

.4 НЕКОТОРЫЕ ИССЛЕДОВАНИЯ ОНЛАЙНОВЫХ СОЦИАЛЬНЫХ СЕТЕЙ

.5 СУЩЕСТВУЮЩИЕ СОЦИАЛЬНЫЕ СЕТИ

.5.1 Одноклассники.РУ

.5.2 Вконтакте.РУ

.5.3 Мой круг

РОЗДІЛ 3. МАТЕМАТИЧЕСКАЯ МОДЕЛЬ СОЦИАЛЬНОЙ СЕТИ

.1 ДОСТИЖЕНИЯ ТЕОРИИ КЛАССИЧЕСКИХ СОЦИАЛЬНЫХ СЕТЕЙ

.1.1 Сила слабых связей

.1.2 Централизация и независимость

.1.3 Сравнительное исследование сетей

.2 ПАРАМЕТРЫ И ХАРАКТЕРИСТИКИ СЕТИ

.2.1 Количественные параметры статистических сетей

.2.2 Качественные экспертные оценки и критерии

.2.3 Интегральные термодинамические показатели

.3 СОЦИАЛЬНАЯ СЕТЬ КАК СОЦИОТЕХНИЧЕСКАЯ СИСТЕМА

.3.1 Подходы к анализу и описанию социальной сети

.3.2 Социальная сеть как объект моделирования

.3.3 Этапы развития и модели роста сети

.5 МОДЕЛИ ПРОЦЕССОВ И СОБЫТИЙ СЕТИ

.5.1 «Искусственная жизнь среди «сахарных холмов»

.5.2 Ранжирование межличностных отношений

.5.3 Моделирование социального поведения

.5.4 EVS-моделирование

.5.5 Модель "Социабельность"

.5.6 Психологические эффекты модели

.5.7 Модели конфликтов и теория игр

.5.8 Энергетическо-информационная модель

.6 ПСИХОЛОГИЯ СОЦИАЛЬНЫХ СЕТЕЙ

.6.1 Групповая динамика в организации и сети

.6.2 Виды конфликтного поведения в группе

.6.3 Скриптовое программирование или «Чужая колея»

.6.4 Искусство лидера

РАЗДЕЛ 4. ИССЛЕДОВАНИЕ СОЦИАЛЬНОЙ СЕТИ

.1 ВИЗУАЛИЗАЦИЯ СОЦИАЛЬНОЙ СЕТИ

.2 СТАТИСТИКА ИСПОЛЬЗОВАНИЯ СОЦИАЛЬНЫХ СЕТЕЙ

.3 АНАЛИЗ СВЯЗЕЙ

ВИСНОВКИ

ПЕРЕЛІК ПОСИЛАНЬ

ДОДАТОК А. ДЕМОНСТРАЦІЙНІ МАТЕРІАЛИ

ДОДАТОК Б. ФРАГМЕНТИ ПРОГРАМНОГО КОДУ

ПЕРЕЛІК УМОВНИХ ПОЗНАЧЕНЬ, СКОРОЧЕНЬ ТА ТЕРМІНІВ

БД База даних

СУБД Система управління базою данихUnified Modeling Language

XML Extensible markup language

ПЗ Програмне забеспечення

ПП Програмний продукт

ФВА Функціонально-вартійсний аналізSearch Engine Optimization

СМ Соціальна мережа

API Application programming interface

ММ Математическая модель

ОСМ Онлайнова соціальна мережа

ІС Інтернет сайтSocial Media Optimization

ВСТУП

Оцінка сучасного стану розповсюдження соціальних мереж в Інтернеті

На сучасному етапі розвитку Інтернету спостерігається стрімке розповсюдження соціальних мереж. Майже кожний користувач Інтернету використовує одну або декільна соціальних мереж. Тому дослідження соціальних мереж має таке високе значення [6].

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

Соціальні мережі також відносяться до категорії інтернет програм які допомагають друзям, бізнес-партнерам або іншим особам спілкуватись та встановлювати зв'язки між собою використовуючи набір інструментів. Ці програми, відомі як «Онлайнові соціальні мережі» <#"792086.files/image001.gif">

Рис. 1.1.1 - бальна оцінка параметру час обробки запиту користувача

Рис. 1.1.2 - бальна оцінка параметру час обробки однієї сторінки (повний цикл)

Рис.1.1.3 - бальна оцінка параметру обробка усіх сторінок у черзі

Рис. 1.1.4 - бальна оцінка параметру наочність інформації, що відображається

Рис.1.1.5 - бальна оцінка параметру коефіціент використання системних ресурсів

 

1.1.3 Визначення коефіцієнтів вагомості параметрів ПП

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

Таблиця 1.1.2

Експертна оцінка параметрів

Параметри            Ранг параметра за оцінкою експерта        Сумма рангів Відхилення



 


Е1

Е2

Е3

Е4

Е5




Х1

1

1

2

1

1

6

-9

81

Х2

3

2

1

2

2

10

-5

25

Х3

2

3

4

3

3

15

0

0

Х4

5

4

5

5

4

23

8

64

Х5

4

5

3

4

5

21

6

36

Разом

15

15

15

15

15

75

0

206


Кожний з п’яти експертів оцінює ступінь важливості параметрів, присвоюючи кожному з них ранг. Сума рангів за стовпцями кожного експерта повинна дорівнювати , де n- кількість параметрів, що оцінюються , тобто5*(5+1)/2 = 15.

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

1.      визначимо суму рангів кожного показника (за рядками):


де  -ранг i-того параметру присвоєного j-м експертом;кількість експертів.

Сума загальної суми рангів, котра повинна дорівнювати

=75, справді дорівнює 6+10+15+23+21=75.

2.      Розраховуємо середню суму рангів


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


та заносимо отримані дані у відповідний стовпець таблиці.

Сума відхилень за всіма параметрами повинна дорівнювати 0, що в даному випадку виконується:


4.      Знаходимо квадрат відхилень за кожним параметром  та суму квадратів відхилень усіх параметрів


та заносимо отримані дані у відповідний стовпець таблиці

5.     
Визначаємо коефіцієнт конкордації


Коефіцієнт конкордації повинен мати значення в межах . Якщо конкордація повна, то . Порівнюючи отриманий коефіцієнт W=0,824 з нормативною величиною Wн (котра для засобів обчислювальної техніки та ПП дорівнює 0.67) отримаємо, що  (0,824>0,67), тобто дані заслуговують на довіру і проводити додаткове ранжування не потрібно.

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

Таблиця 1.1.3

Експертне порівняння параметрів

Параметри

Експерти

Підсумкова оцінка

Числове значення коефіцієнта


Е1

Е2

Е3

Е4

Е5



Х1 и Х2

<

0.5

Х1 и Х3

<

0.5

Х1 и Х4

<

0.5

Х1 и Х5

<

0.5

Х2 и Х3

<

0.5

Х2 и Х4

<

0.5

Х2 и Х5

<

0.5

Х3 и Х4

<

0.5

Х3 и Х5

<

0.5

Х4 и Х5

>

1.5


Значення коефіцієнтів:

де  параметри, котрі порівнюються

На основі числових даних  таблиці 1.1.3 складаємо квадратну матрицю А= |  | (таблиця 1.1.4).

Таблиця 1.1.4

Розрахунок пріоритету параметрів

Xi

Параметри Xj

Перша ітерація

Друга ітерація


Х1

Х2

Х3

Х4

Х5

Bi

φі

Bi’

φі'

Xl

1

0.5

0.5

0.5

0.5

3

0.12

14

0.1239

Х2

1.5

1

0.5

0.5

0.5

4

0.16

17.5

0.1549

Х3

1.5

1.5

1

0.5

5

0.2

25.5

0.2257

Х4

1.5

1.5

1.5

1

1.5

6

0.24

22

0.1946

Х5

1.5

1.5

1.5

1.5

1

7

0.28

34

0.3009

Разом

 

25

1

113

1


Розрахунок вагомостей кожного параметру () проводиться за наступними формулами [1]:


- вагомість i-го параметру за результатами оцінок усіх експертів

Відносні оцінки () розраховуються декілька разів, поки наступні не будуть відхилятися від попередніх менше ніж на 5%. На другій та всіх наступних ітераціях (’) розраховуються


Перевіримо, чи потрібно виконувати наступні ітерації:


що складає приблизно 5% відхилення  від попереднього .

Відносна оцінка , отримана на останній ітерації, вважається коефіцієнтом вагомості () i-того параметра. Саме враховуючи її враховують пріоритетність параметрів.

 

1.2 Аналіз варіантів реалізації функцій

 

.2.1 Виділення основних функцій

В якості основних функцій, які буде реалізовувати ПП, виділимо наступні:- введення початкових даних;

F2 - вибір даних з черги;- обробка даних Інтернет сторінок;

F4 - вивід результату.

 

1.2.2 Розробка варіантів виконання основних функцій ПП

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

Для функції F1:) з клавіатури;

b)      з БД;

Для функції F2:

a)      без пріоритетів;

b)      з приорітетами;

Для функції F3:) паралельно;)       послідовно ;

Для функції F4:) на друк;)    на екран;)  в БД.

Варіанти реалізації основних функцій наведені в морфологічній карті системи на рисунку 1.2.1:

Рисунок 1.2.1 - Морфологічна карта

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

Таблиця 1.2.1

Позитивно-негативна матриця

Основна функція

Варіант реалізації

Переваги

Недоліки

F1

a)

Можливість вибрати сторінки для аналізу, не привязуючись до БД

Створення додаткового завантаження на систему сбору даних


b)

Мінімальний час на отримання інформації про сторінку

Необхідні додаткові ресурси і інструмнти для здійснення зв’язку програми з БД

F2

a)

Можливість виконувати тести один за одлним

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


b)

Першочергове отримання даних для пріоритетних запитів

Збільшення часу на отримання да за окремими критеріями аналізу

F3

a)

Прискорена обробка вхідних даних

Необхідність синхронізації процесів аналізу і збереження цілісності даних


b)

Дані обробляються по мірі надходження , немає необхідності синхронізувати

Збільшення чвсу необхідного для обробки 100% даних

F4

a)

Можливість переносити результати, велика наглядність інформації, що виводиться

Повторення процесу аналізу кожний раз при необхідності


b)

Велика наглядність отриманої інформації

Повторення процесу аналізу кожний раз при необхідності


c)

Не потребую оновлення отриманих даних

Немає наглядності отриманої інформації


1.2.3 Аналіз варіантів реалізації функцій ПП

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

1) F1a + F2a + F3b + F4b;

) F1a + F2b + F3b + F4a;

) F1b + F2b + F3b + F4c;

) F1b + F2b + F3b + F4b;

Визначимо рівень якості обраних вирішень за формулою:


та варіантів виконань за формулою:


де  - коефіцієнт важливості (визначається за таблицею 1.1.4);

 - бальна оцінка якості, що визначається за графіками (рисунки 1.1.1-1.1.5);

 - кількість параметрів, прийнята в якості критерію вибору оптимального варіанту схемного вирішення (табл. 1.2.2).

Таблиця 1.2.2

Розрахунок показників рівня якості варіантів реалізації основних функцій

Основна функція

Варіант реалізації ПП

Параметр реалізації функції

Абсолютне значення параметру

Оцінка параметра в балах

Коефіцієнт важливості параметра

Коефіцієнт рівня якості

F1 

а

X1

2.0

4.1

0.1239

0.508

 F2 

b

X1

0.01

9.9

0.1239

1.227


a

X2

50

8.7

0.1549

1.348

F3

b

X2

1000

3.5

0.1549

0.542


b

X3

40

3.8

0.2257

0.858

F4

a

X4

70

4

0.1946

0.778


Визначимо рівень якості кожного варіанту виконання основних функцій окремо:

= F1a + F2a + F3b + F4b = 4.66;

 = F1a + F2b + F3b + F4a = 2.686;

 = F1b + F2b + F3b + F4c = 3.016;

 = F1b + F2b + F3b + F4b = 4.563;

Найбільше значення показника рівня якості  мають 1-й і 4-й варіанти, але 4-й варіант, очевидно, більше.

 

.3 Вартісний аналіз варіантів програмного продукту


Для розрахунку вартості ПП будемо використовувати наступну формулу:


де - заробітна плата розробників ПП, грн.;

 -відрахування на соціальні заходи (38,3% від фонду заробітної плати:

33% - обов’язкове пенсійне страхування

,5% - обов’язкове соціальне страхування

1.9% - фондова біржа, грн.;

.9 % - обов’язкове страхування від нещасних випадків

 - вартість машинного часу, затраченого на відладку ПП, грн.;

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

Заробітна плата розробників ПП визначається за формулою [3]:


де  - поденна оплата праці програміста, грн.;

 - трудомісткість розробки ПП, люд-днів;

 - норматив додаткової зарплати ІТП (6%);

Використовуючи додатки, визначимо вихідні дані для розрахунку трудомісткості ПП:

· Кількість наборів даних вхідної інформації - 2;

·        Кількість різновидів форм вихідної інформації (друкованих документів - 1, інформація, котра переноситься на машинні носії - 1, екранна форма - 1) - 3;

·        За ступенем новизни задача, що розробляється, відноситься до групи А, так як передбачається застосування принципово нових методів розробки та проведення науково-дослідницьких робіт;

·        За складністю алгоритм відноситься до першої групи;

·        Складність організації контролю вхідної та вихідної інформації:

а) вхідний контроль - група 12 (вхідні дані та документи однотипного формату та структури, здійснюється формальний контроль);

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

· Інформація, що використовується - змінна (m = 2)

·        Мова програмування

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

 - ( трудомісткість виконання робіт. Для задач групи А та групи складності алгоритму 1) = 90 людино-днів (норма часу розрахована на восьми годинний робочий день при 5-денному робочому тижні);

Коефіцієнт поправки для визначення трудомісткості робіт:

 - кількість наборів даних змінної інформації, нормативно-довідкової інформації та банку даних відповідно.  та, відповідно, ;

 - коефіцієнт поправки по мові програмування (оскільки ми використовуємо мову високого рівня - PHP);

 - задача не являється стандартним математичним забезпеченням;

Загальна трудомісткість розробки ПП визначається за формулою:


Зайнятість одного розробника даного ПП:

0,77.

Так як ставка програміста 5000 грн., а середня кількість робочих днів в місяці дорівнює 21,1, то щоденна заробітна плата програміста складає:

грн.

Таким чином, фонд заробітної плати програміста дорівнює:

грн.

Вартість машинного часу, затраченого на відладку ПП, визначається за формулою:

де  - собівартість однієї машинної години роботи ЕОМ, грн.;

 - машинний час, необхідний для відладки ПП, год.

Собівартість однієї машинної години визначається за формулою:


де - річні експлуатаційні витрати, грн.;

- річний фонд корисної роботи ЕОМ, год. (визначається виходячи з календарного річного фонду часу з вирахуванням вихідних, свят та добового режиму роботи).

Річний фонд часу корисної роботи ЕОМ складає:


де  - кількість робочих днів в році ( = 253 днів);

 - номінальна кількість годин щодобової роботи пристрою (8 год.);

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

 год.

год.

Річні експлуатаційні витрати визначаються за наступною формулою:

де - основна та додаткова заробітна плата персоналу, що обслуговує техніку;

 - відрахування на соціальні заходи (38,3% від фонду оплати праці персоналу, що обслуговує техніку);

- амортизаційні відрахування ( 25% від , де  - вартість ЕОМ);

 - витрати на електроенергію;

 - витрати на ремонт ЕОМ (0,04, де  - вартість ЕОМ);

 - накладні витрати, що враховують заробітну плату адміністративно-господарського персоналу, витрати по охороні праці та техніці безпеки та ін., грн. (67% від фонду заробітної плати);

 - додаткові витрати.

Так як вартість ЕОМ дорівнює  = 4000 грн.,

то =0.25* 4000 =1000 грн,

=0.04* 4000 =160 грн.

Так як потужність ЕОМ складає -  =400 Вт, а вартість 1 кВт/г - = 0,2436 грн., а річний фонд корисного часу роботи ЕОМ -  = 1720 год, то затрати на електроенергію в рік складають:

=(0,2436/1000)*400*1720*0,9 = 150,84 грн.

Оскільки один інженер зі ставкою 1000 грн. обслуговує 4 ЕОМ, а середня кількість робочих днів в місяці дорівнює 21,1, то денна заробітна плата інженера складає:

грн.;

 - трудоємність інженера;

Таким чином, фонд заробітної плати інженера дорівнює:

 грн.

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

= 0,383 *  = 0,383 *2436,32 = 913,62 грн.

Додаткові витрати приймаються в розмірі 20% від суми усіх попередніх статей витрат: =0,2 * (2436,32+913,62+150,84+1000+160) = 932,16 грн.

Таким чином, сума експлуатаційних витрат, що забезпечують функціонування технічних засобів, що використовуються, дорівнює:

=2436,32+913,62+1000+150,84+160+932,16 = 5592,94 грн.

Відповідно, вартість однієї машинної години складає:

грн.

=1160 год.

=1200 год.

Таким чином, вартість машинної години за варіантами складає:

= 3,25* 1160= 3770 грн.;

=3,25* 1200 =3900 грн.;

Функціонально необхідні витрати на створення програмного продукту по варіантам визначаються за формулами:

1.4 Вибір кращого варіанта за критерієм ефективності


Визначимо показник техніко-економічного рівня за формулою:


де - коефіцієнт рівня якості і-го варіанту;

 - вартість розробки ПП і-го варіанту.

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


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

 

1.5 Висновки


В даній роботі проведено ФВА програмного продукту, що розробляється, та зроблені наступні висновки.

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

Таблиця 1.5.1

Найбільш ефективний варіант реалізації програмного продукту

Основна функція

Варіант реалізації

Введення початкових даних

Використовуючи БД

Вибір даниз з черги

З пріоритетами

Обробка даних Інтернет сторінок

послідовно

Вивід результату

На екран


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

Таблиця 1.5.2

Основні показники економічної ефективності варіанту ПП, що рекомендується

Найменування показника

Позначення

Числове значення

Показник рівня якості ПП

4,563



Показник техніко-економічного рівня        

,000071




Вартість реалізації майбутнього програмного продукту складає 65 791,5 грн. Для розробки ПП одним розробником, необхідно 194 дні при восьмигодинному робочому дні та п’ятиденному робочому тижні.

РОЗДІЛ 2. ОБ'ЄКТ ДОСЛІДЖЕННЯ - СОЦІАЛЬНА МЕРЕЖА

 

.1 Загальна інформація про соціальні мережі


Соціа́льна мере́жа - соціальна структура утворена індивідами або організаціями. Вона відображає розмаїтні зв'язки між ними через різноманітні соціальні взаємостосунки, починаючи з випадкових знайомств і закінчуючи тісними родинними вузами. Вперше термін було запропоновано в 1954 <#"792086.files/image138.gif">

Рисунок 2.1.1 - Приклад відображення схеми зв'язків в соціальних мережах.

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

Теорія соціальних мереж розглядає соціальні взаємовідносини в термінах вузлів та зв'язків. Вузли є відособленими акторами в мережах, а зв'язки відповідають стосункам між акторами. Може існувати багато типів зв'язків між вузлами. В найпростішій формі, соціальна мережа є відображенням всіх зв'язків, які мають відношення до дослідження, між вузлами. Мережі можуть використовуватись для встановлення соціального капіталу <#"792086.files/image139.gif">

Рисунок 2.3.2 - Типы сетевых структур

В системе с высокой связанностью и низкой доминантностью общее число связей распределено относительно равномерно таким образом, что потоки направлены от одного фрагмента системы к другому. Эта структура хорошо моделирует гипертекстовую коммуникацию, где не предусматривается контроля центра над периферией. Система с низкой коммуникативностью и низкой доминантностью присуща диффузным, слабоинтегрированным популяциям. Система с низкой коммуникативностью и высокой доминантностью сосредоточивает связи в определенных ареалах сообщества и обозначает его декомпозицию. Такого рода «идеальные типы» сетей позволяют типологизировать различные виды коммуникации.

 

.4 Некоторые исследования онлайновых социальных сетей


Сетевой анализ является естественным распространением технического понятия «структура», понимаемая как совокупность элементов и связей между ними, на методы исследования в антропологии, социальной психологии, социологии, экономике, географии и политологии.

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

В теории социальных сетей можно выделить 3 основные направления:

-           поиск статистические свойства, характеризующих поведение систем с сетевой структурой

-        создание моделей сетей

         предсказание поведение систем с сетевой структурой на основе измеряемых структурных свойств и локальных правил управления отдельными структурами.

Социальные сети - настоящий Интернет феномен 21 века. За июнь 2008 года 132 миллиона пользователей посетили сайт Facebook.com, а 117 миллионов воспользовались услугами портала Myspace.com. И это всего лишь два, пускай и самых популярных, из сотен англоязычных социальных сайтов, которые продолжают плодиться невероятными темпами. А стоит лишь на секунду задуматься о числе пользователей глобальной сети в Азиатском регионе и развивающихся странах, как получается цифра, от которой голова невольно начинает идти кругом.

Сотни миллионов пользователей, говорящие на десятках разных языков и тысячи компаний, у которых просто не остаётся другого выбора кроме как размещать свои рекламные сообщения на сайтах социальных сетей - и всё это в неосязаемом виртуальном мире, который до сих пор окутан самыми разнообразными мифами.

С целью развенчать некоторые из этих мифов глобальная исследовательская компания Synovate опросила 13 000 респондентов из 17 стран мира. В ходе исследования нам удалось получить массу информации о том, кто является пользователями сайтов социальных сетей, что интересует людей на подобных ресурсах, и почему люди постепенно начинают терять к ним интерес…

Людям, втянутым в мир маркетинга - в эту многосложную круговерть людей, брендов, рекламных компаний - свойственно иногда не замечать вещи, лежащие на поверхности. Решено не допускать подобных ошибок, и начать наше исследование с самого простого вопроса: «Знаете ли вы, что такое социальные сети?».

И стоило нам его задать, как самый первый и самый фундаментальный миф был развеян в пыль. Оказалось, что всего 42% респондентов знают о том, что такое социальные сети и с чем их едят. Таким образом, получается, что почти 60% жителей земного шара не слышали ни о Myspace, ни о Facebook, ни уж тем более об Одноклассники.ру.

Самый высокий процент людей знающих о существовании ресурсов оказался в Голландии (89%), Японии (71%) и США (70%). Тем не менее, даже с учётом подобных результатов получается, что 3 из 10 американцев существуют за границей мира виртуальных друзей и цифровых отношений.

«Несмотря на то, что большинство американцев уже обзавелись компьютером с постоянным доступом в Интернет, в США по-прежнему существует достаточно большое число - в частности среди иммигрантов и пожилого населения - людей, которые не имеют возможности доступа к ресурсам глобальной сети. Вполне очевидно, что они не могут знать и о том, что представляют собой социальные сети», - считает Боб Майклс (Bob Michaels) Senior Vice President of the US-based Consumer Insights, Synovate.

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

Исследователи Synovate проанализировали, кто является постоянными участниками социальных сайтов, и какие ресурсы они избрали для себя. В результате данного анализа пал второй миф, гласящий, что: «Социальные сети крайне американизированы».

В целом, по миру, 26% всех опрошенных являются зарегистрированными пользователями той или иной социальной платформы. При этом самое большое число любителей поддерживать дружеские отношения не отходя от компьютера оказалось в Голландии - 49% респондентов в этой стране являются постоянным пользователем того или иного социального сайта. Следом за Нидерландами идут ОАЭ (46%), Канада (44%), и только на четвёртом месте США (40%).

«Популярность социальных сетей в ОАЭ вполне объяснима. Наша страна в последние годы стала местом, где сплетаются в единое целое не только бизнес, торговля и предпринимательство, но и целые культуры. А подобные интернет ресурсы дают возможность людям общаться и даже строить свои отношения, невзирая на существующие традиции, расстояния и культурные стереотипы. Что для ОАЭ, где, например, отношения между мужчиной и женщиной не принято афишировать, крайне важно», - считает управляющий директор Synovate UAE, Джордж Кристодоулидес (George Christodoulides).

В свою очередь Роб Майерс (Rob Myers), управляющий директор Synovate Canada, так прокомментировал полученные результаты: «По числу людей, имеющих широкополосное подключение к сети Интернет, Канада превосходит даже США, поэтому полученные результаты вполне закономерны. Канадцы вообще быстро реагируют на все тренды, связанные с компьютерами и глобальной сетью, например, в конце 2007 года среди жителей Торонто было больше зарегистрированных пользователей Facebook.com, чем где-либо ещё в мире».

Респондентам также был задан вопрос о том, постоянными пользователями, каких ресурсов они являются. Выяснилось, что люди разделились на две основные категории - одни посещают сразу несколько различных сайтов социальных сетей, в то время как другие предпочитают сосредоточиться на каком-то одном ресурсе. Большинство непостоянных пользователей, как выяснилось, проживает в Индии, Индонезии, ОАЭ и Болгарии.

«Это эффект снежного кома. В определённых кругах считается «круто» иметь несколько зарегистрированных аккаунтов на различных сайтах, так как это демонстрирует всем, что ты следишь за модой и следуешь последним трендам», - уверен Робби Сусатио (Robbie Susatyo), управляющий директор Synovate Indonesia [6, 7, 8].

В целом по миру респондентами было названо почти 150 различных социальных платформ, хотя, разумеется, выделились определённые фавориты <#"792086.files/image140.gif">

Рисунок 3.1.1 - Центр группы

·             
Ранг узла: у C и K наибольшее количество узлов, с которыми они связаны.

·              Контроль: D служит мостом между большим количеством узлов и контролирует потоки информации.

·              Независимость: K имеет достаточно близкую связь с остальными узлами через несколько других (I и Q).

Социальные сети являются базовыми инструментами, с помощью которых пользователи постоянно отслеживают и наращивают свою сеть контактов. Поэтому большинство таких сайтов изображает свой рост, используя ранг узлов как основной критерий. Однако, контроль и независимость также является немаловажными факторами. Например, пользователь, который контролирует потоки информации, может быть более важным, чем тот, у которого много друзей в этой сети. Центральность также показывает, какие участники ресурса приносят наибольшую пользу или имеют больше всего связей, что отражает их большую компетентность как информационных источников [20, 30].

 

3.1.3 Сравнительное исследование сетей

Принципы структуры узлов, силы связей и центральности можно применить и к существующим социальным сетям в интернете. Хорошим примером может послужить сравнительное исследование, проведенное Kumar, Novak и Tomkins (2006). Они сравнили две социальных сети, Flickr и Yahoo 360, которые на тот момент в сумме насчитывали пять миллионов пользователей. Исследователи отметили, что социальные сети развиваются по стандартному сценарию, а именно: сначала стремительный рост, затем некоторый период падения, после него медленный, но стабильный рост., Novak и Tomkins также отметили, что социальная активность бывает трех типов:

.        Одиночки, у которых нет связей, которые центральны сами по себе

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

.        Периферия, в ней представлены отдельные группы узлов со связями внутри себя, но не имеющие связей со всей остальной сетью. Они представляют собой своеобразные одиночные звезды. Такие группы растут медленно, по одному пользователю за раз. Со временем они могут примкнуть к большому центру.

Рисунок 3.1.2 - Социальная активность.

Рыжая группа обозначает центральную часть. Голубым цветом отмечена периферия, состоящая из отдельных небольших групп. Серыми отмечены одиночки.

Анализ узлов для таких сетей показал, что примерно половина узлов находится за пределами большого центра, в котором сосредоточено основное центрирование. Для такого центрирования использовалось определение «контроль». В исследовании также отмечалось большое количество «звезд» в периферии, каждая из которых представляет собой мини социальную сеть. Такие группы обычно имеют одного лидера, которого можно рассматривать как точку центрирования, а остальных - как его спутники, связанные с центральным лидером, но не друг с другом. В анализе Kumar, Novak и Tomkins к таким группам принадлежат одна треть пользователей в Flickr и примерно десять процентов в Yahoo! 360.Также стоит отметить, что наибольший рост происходит именно на периферии, где активные пользователи подталкивают своих знакомых к вступлению в их сеть. Это под-сети могут со временем присоединиться к центральной части. После такого слияния значимость таких активных пользователей снижается. Даже если они решат выйти из сообщества, другие пользователи все равно останутся в социальной сети.

Рисунок 3.1.3 - Связи между центром и периферийной группой.

Рисунок 3.1.4 - Периферийная группа присоединяется к центру.

Какие из этого можно сделать выводы? При проектировании своей сети нужно учесть, что большая ее часть будет расположена вне центральной части. По существу, социальная сеть представлена тысячами под-сетей. Чем больше возможностей вы предоставите этим сетям для развития, тем больше будет общий рост. Социальные сети, по сути, - это виртуальные гетто. Те сети, которые поощряют такие гетто (например, MySpace и Facebook), растут быстрее всех. В Ning, где можно создать как собственную социальную сеть, так и вступать в другие, лучше всего осознали и использовали эту концепцию. Live Journal, DBLP и адаптационное поведение. Большинство социальных сетей вырастают на энтузиазме первых пользователей, которые переводят свои контакты из реального мира в интернет и выступают в роли «звезд». Но также важно рассмотреть развитие социальных сетей, основанное на внутренней активности пользователей. Backstrom, Huttenlocher и Kleinberg (2006) анализировали создание групп в больших социальных сетях. Они использовали данные с LiveJournal о десяти миллионах пользователей и DBLP, базу данных со-авторов в публикациях с конференций, чтобы изучить, как рост сообществ связан с социальными сетями, лежащими в их основе. Они показали, что у пользователя больше стимулов вступить в социальную сеть, если его друзья уже связаны в ней друг с другом. Несколько тесно связанных в социальной сети друзей пользователя повышают доверие к ней. Для тех из нас, кто является активным пользователем социальной сети, это кажется уже очевидным.

В статье последовательно показано, что основной рост идет за счет большого центра, в котором узлы обладают наибольшим центрированием. Подчеркивая важность большого центра, Backstrom, Huttenlocher и Kleinberg подтвердили теорию Kumar и др. (2006) В их статье поднимается очень важный вопрос: «Когда отдельный узел узнает о поведение своих соседей, какие именно условия и связи внутри сети заставляют его это поведение принять?»


С ( I ) = 3 * (число треугольников на графе) \ число связных троек вершин)

Распределение степени. Степень вершины в сети - это число ребер соединенных с заданной вершиной. В случайном большом графе каждое ребро присутсвует или отсутствует с разной степенью вероятности и распределения степени - биномиальное или пуассоновское. Далекие от распределения Пуассона распределения степени вершин в большинстве сетей искжены со скосом вправо - распределения имеют длинную хвостовую часть.

Эластичность сети. Степень эластичности сетей относится к распределению степени при удалении вершин. Большинство сетей основано на их связности, то есть существования путей между парами вершин. Если вершина удалена из сети, типичная длина этих путей увеличивается , и в конечном счете пары вершин станут разьединенными. Имеется ряд способов удаления вершин и различные сети показывают вариацию степени эластичности к этим способам. Можно случайно удалять вершину из сети или иметь цепь удаления определенного класса вершин (например, с самыми высокими степенями).

Коэффициент корреляции. Вершина с высокой степенью корреляции имеет тенденцию быть соединенной (в среднем) с вершинами с низкой степенью, и наоборот. Для количественной оценки этого эффекта необходимо измерить коэффициент корреляции степеней смежных вершин в сети.

Структура сообщества. Разделяется группами вершин, имеющих высокую плотность ребер между ними с более низкой плотностью ребер между группами. Метод извлеыения структуры сети - кластерный анализ. Метод, в котором приписыватся сила связи парам вершин в сети, представяющих интерес. Каждой из 0,5 n (n-1) возможных пар сети из N вершин назначена такая «сила» (причем не только соединенных ребрами). Затем, начиная с вершины без ребер между любыми из них, прибавляются ребра в порядке уменьшения силы связи. Когда все ребра добавлены, все вершины соединены с другими - получается требуемая кластеризация. Приемлимые методы назначения силы связи включают взвешенные меры расстояния вершина-вершина, размеры максимального потока и взвешенных путевых индексов между вершинами. Для социальных сетей структура сообществ - важное свойство сети.

 

3.2.2 Качественные экспертные оценки и критерии

Социальная сеть, как сложный социотехнический объект можт оцениваться как экспертно, так и с помощью некоторых интегральных, общеприменимых в технике оценок.

Наблюдение за процессами происходящим в социальной сети МойКруг позволило сформулировать некоторые подходы и оценки. Скажем, уровень «взрослости» обсуждения в темах не вызывает доверия [32, 17].

Другой внешний критерий - рекомендованная участниками обсуждения литература и сайты. Приведу примеры. В подсети «Информационные технологии» - наиболее богатой и представительной - 6000 участников, обсуждается 80 тем и 200 новостей, «выставлено» 600 вакансий. Но учебный открытый ресурс Интернет-Университета информационных технологий Шкреда А.В. рекомендовали своим друзьям - 100 человек. Ресурс «Виртуального компьютерного музея» Пройдакова Э.М. с полумиллионом посетителей - 3.

В подкруге интересов «Политика» заявлено 1500 участников. Однако «Столкновение цивилизаций» С.Хандингтона - рекомендует прочитать только один человек (и не будем показывать пальцем). Такие логические связки в сети могут служить индикатором ее качества.

 

3.2.3 Интегральные термодинамические показатели

Социотехническую систему возможно охарактеризовать с помощью понятия энтропия.

Впервые термин был применен Клаузиусом для обозначения меры деградации какой-либо системы. В процессах, происходящих без дополнительного притока энергии извне (изоэнергетические процессы), уменьшение внутренней энергии системы сопровождается пропорционалтьным увеличением энтропии, и наоборот. Следовательно, энтропия есть мера вероятности физической системы, а ее рост - переход от большего порядка к меньшему. Максимум энтропии достигается при равновесном, наивероятнейшем состоянии системы. Закон возрастания энтропии присущ любой изолированной системе, предоставленной самой себе.

Для таких систем следует порассуждать более подробно о законе возрастания энтропии, что и будет сделано в лекции 5 при рассмотрении моделей конфликтов в сети.

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

Первый поток характеризует возрастание энтропии как в любой физической системе. Мощность этого потока определяется градиентом естесственного увеличения энтропиии HE . Элементы противоборства приводят к появлению потока энтропии, мощность которого определяется градиентом искусственного увеличения энтропиии HИ. Величина этого градиента может изменяться в довольно широких пределах в зависимости от решаемых задач (в зависимости от целей игры). Однако эти пределы не безграничны, а вполне конечны и определяются информацией (количеством информации) о противоборствующих сторонах. Чем полнее информация у игрока о своем противнике, тем в большей степени он может использовать правило искусственного увеличения энтропии.

А что же препятствует росту энтропии? Препятсвуюет росту энтропии свободная энергия, полученная системой в процессе противоборства. Эта энергия (избыток энергии) образует поток «отрицательной энтропии», можность которого характеризуется градиентом HO. Появление этого потока равносильно появлению управляющего начала в в системе P - E, то есть равносильно введению в систему информациии. Чем больше это управляющее начало, тем по более жестким законам действуют противоборствуюзщие стороны, что приводит к возрастанию вероятности достижения цели игры.

Итак, энтропия системы P - E определяется суммой перечисленных выше потоков, то есть

HΣ = HE + HИ + HO

Если HE + HИ > HO то взаимодействие противоборствующих противников быстро распадается, что равносильно ничейному исходу. Если же HE + HИ < HO то система P - E может иметь стационарное состояние, то есть такое состояние, когда отток энтропиии во внешнюю среду и приток «отрицательной энетропии» в виде свобоюной энергии (избытков энергии) компенсирубт друг друга. Именно в стационарном состоянии действуют объективные законы, по которым живет и развивается система. Время жизни системы в стационарном состоянии определяется величиной энергии (величиной избыткоы энергии).

Чем больше эта величина, тем более тесно взаимодействуют притивоборствующие стороны друг с другом, тем более веорятно, что сторона, имеющая избыточную энергию, решит противоборство в свою пользу.

В этих рассуждениях избыточная энергия понимается как негэнтропия, которая претятсвует распаду системы P - E , то есть удерживает во взаимодействии противоборствующие стороны. Заметим, что необходимым условием сущесвования решения игры является условие HO > 0.

Таким образом, если рассматривать систему как термодинамическую, то только избытки энергии (способность совершить работу по удержанию противников во взаимодействии) является демпфером на пути возрастания энтропии. Именно эти избытки энергии позволяют в условиях лавинообразного нарастания энтропиии решать задачу игры с заданной верятностью.

Если все скажанное имеет право на жизнь, то можно сформулировать один из принципов противоборства: каков бы ни был энергетический запас динамического объекта, имеющего ранг преследователя, со временем он теряется , а это приводит к росту энтропии системы P - E. Поскольку энергетический запас всегда ограничен, то это в конечном счете не может препятствовать росту энтропии в системе. Следовательно, чем больше время игры, тем меньше шансов добится успеха.

 

.3 Социальная сеть как социотехническая система

 

3.3.1 Подходы к анализу и описанию социальной сети

Социальную онлайновую сеть можно рассматривать как социотехнический объект - в котором отдельные участники сети - агенты с помощью совокупности физической структуры - компьютеров участников сети - серверов каналов связи и концентраторов реализуют свои потребности в общении, установлении контактов, поиске информации, работы, решают жизненные задачи и задумываются над общечеловеческими проблемами [33, 35].

Если виртуальную социальую сеть рассматривать как физическую систему - то для характеристики прохоидящих в ней процессов возможно применять известные термодинамические подходы и понятия, такие как энтропия, энергия, рабочие процессы.

Рассмотренные ниже подходы можно отнести к системотехничеаским, интегральным, позволяющим определять социальныю сеть на основе ключевых, основополагающих понятий и категорий теоретической информатики.

Среди возможных подходов к анализу процессов социальной сети как социотехнической системы можно указать:

·   подход теории конфликтов и теории игр,

·   термодинамический подход,

·   гомеостатические модели

 

3.3.2 Социальная сеть как объект моделирования

Классический подход к описанию сложной технической системы предполагает иерархию описания совокупностью вложенных моделей:

·   Модель структуры как совокупность элементов системы и связей между ними

·   Функционирование или модель поведения во времени

·   Модель ресурсов и целей системы

 

3.3.3 Этапы развития и модели роста сети

Во многих работах отмечаются типовые этапы развития социальной сети. Качественно, это начальный этап, зона молвы или всплекс гудка, некоторое снижение интереса - лощина сомневающихся.

Далее возможен либо достаточно устойчивый рост за счет привлечения новых участников, либо потеря Инициатором разработки сети интереса к теме ввиду призрачных перспектив коммерческого успеха.

 

3.5 Модели процессов и событий сети

 

3.5.1 «Искусственная жизнь среди «сахарных холмов»

Эволюцию и искусственную жизнь позволяют исследовать программные ресурсы, например, доступный пакет Cafun (www.cafun.de <#"792086.files/image144.gif">

Рисунок 3.5.2 - Функции распределения кластеров. По оси у отложено число кластеров, нормализованное по моде.

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

Поведение, связанное с принадлежностью к той или иной группе обычно называют аффилиативным, поэтому мы назвали имеющийся здесь параметр порядка аффилиацией (А). Рис.3.5.3 показывает распределение А как функцию от размера популяции и социабельности (по оси у - размер популяций, по оси х - социабелыюсть, по оси z - аффилиация).

Рисунок 3.5.3. Ландшафт параметра порядка «Affiliation».

Линии показывают аффилиацию как функцию от размера популяций и социабельности.

Для малых популяций аффилиация растет более или менее монотонно как функция от социабельности. Для больших популяций переход к другому поведению происходит более внезапно: например, для популяции в 300 элементов при изменении социабельности вплоть до 40 контактов аффилиация держится около 0,01, однако при числе контактов 41 размера кластеров делает скачок до 0,82 процента от всей популяции.

Вычисления энтропии для каждой функции распределения в каждой популяции и математических ожиданий позволило нам найти нелинейную зависимость, описывающую критическое значение социабельности (Sc) для перехода к качественно другому поведению, взятое от величины популяции (Р): Sc = P0,6.

Тем самым мы можем предсказать, какое число контактов необходимо для того, чтобы любое данное множество клеток, элементов или людей пришло в упорядоченное состояние и стало системой [12, 15, 34].

Строго говоря, похожие эффекты - но без подробного количественного анализа на дискретных моделях с разнородными элементами - были получены в теории случайных графов (Palmer, 1985), в теории перколяции (Grimmett, 1989). Структура связей между элементами, однако, в этих моделях была фиксированной, в то время как структура кластеров в нашей модели очень динамична - кластеры не существуют в одном и том же виде практически более, чем 10 шагов.

 

3.5.6 Психологические эффекты модели

Более интересно, однако, посмотреть на эти результаты с психологической точки зрения. Упомянутая «социабельность» является возможностью субъекта поддерживать определенное число контактов, а некоторая суммарная совместимость с теми субъектами, с которыми установлены контакты, показывает оптимальность использования этих контактов - обмен информацией и ресурсами, кооперацию (при положительной совместимости) или конфронтацию (при отрицательной). Социабельность может быть основана на индивидуальных чертах субъекта, но, как правило, среда задает некоторые пределы числу поддерживаемых контактов, поэтому «последнее слово» в установлении это числа мы оставили за средой.

Аффилиативное поведение (когда субъект предпочитает быть членом определенной группы) и мера сходства поведения членов группы зависят, как оказалось, не только от индивидуальных предпочтений отдельного субъекта и даже не от установок других членов группы, а от более глобальных факторов - величины всей популяции, в которой происходит группировка, ее разнообразия и, особенно, от возможностей поддерживать контакты.

На бытовом уровне это достаточно очевидный факт - чем больше я могу установить и поддержать контактов, тем больше обмен информацией и тем более едины мы в суждениях и поведении. Как используется этот факт в психодиагностике или социальной психологии? Пожалуй, в лучшем случае, в форме констатации. Однако мы можем использовать здесь и количественные закономерности: например, учитывать размер групп, в которые включен индивид и возможности поддержания контактов, фактическое число контактов, которые индивид поддерживает - для составления каких-либо заключений о его социальных способностях. В социальной психологии при исследовании групповой динамики мы можем также использовать полученную количественную зависимость для того, чтобы отделить ее влияние от собственно социально-психологических эффектов. Описанный нами эффект согласуется, как ни странно, и со стратометрической концепцией коллектива, предложенной А.В. Петровским (Петровский, 1979).

Совместная деятельность, как фактор, объединяющий людей в коллектив, как правило, сопровождается интенсивными реальными и виртуальными (через интериоризацию совместных задач) контактами.

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

И, наконец, по полученным результатам можно сделать некоторые выводы об иерархии параметров, определяющих поведение. Мы рассматривали четыре таких системных фактора: размер популяции, разнообразие популяции, число контактов, которые элемент может «проверить на совместимость» на каждом шагу и максимальное число контактов, которые он может удерживать на каждом шагу (социабельность). Вопрос об иерархии этих параметров на самом деле является достаточно открытым для психологии: когда мы обсуждаем детерминанты поведения человека, можем ли мы с уверенностью сказать, что важнее - разнообразие социальной среды, величина групп, в которых он задействован, интенсивность контактов либо общее число действующих контактов? Наше исследование показало, что величина популяции определяет наиболее глобальные тенденции в поведении, а общее число действующих контактов является основным фактором групповой динамики, совместно с величиной популяции задающим нелинейную функцию качественного перехода в поведении. Уменьшение интенсивности контактов (т. е. сколько контактов клетка может проверить на каждом шаге) увеличивает, как оказалось, «резкость» полученных эффектов и делает фазовый переход более явным. Разнообразие популяции оказалась четвертым в иерархии изучаемых параметров, однако, оно тоже оказывало свой эффект: был также получен (но более слабый) фазовый переход в зависимости от этого фактора.

Эффекты, подобные полученным, говорят о том, что психология, как и другие науки о жизни, не должны «вариться в собственном соку» и объяснять одни психологические явления с помощью других психологических же явлений. Философия и математика, как достаточно философская дисциплина, продолжают поиск универсальных тенденций в явлениях разной природы, но этот поиск будет успешен только при участии специалистов конкретных предметных областей науки. Социальные процессы, в частности, подчиняются глобальным законам внутренней динамики многоагентных сред, которые характеризуют все естественные системы (Sulis, 1994) [42].

 

3.5.7 Модели конфликтов и теория игр

Среди множества возможных подходов к анализу такой сложной социотехнической системы как социальная сеть следует остановиться на описании и анализе возможностей теории конфликтов и теории игр.

Математическая модель теории игр и экономического поведения была предложена в 1944 году Джоном фон Нейманом и Оскаром Моргерштерном.

Пример игрового подхода к анализу сетевых взаимодействий - «Парадокс 2-х задержанных» приведен в книге Говарда Рейнгольда «Умная толпа». Игроки с конфликтующими интересами, в рассматриваемом примере - 2 задержанных, допрашиваются независимо в соседених комнатах. Условия таковы, что при признании каждый получает, скажем, по 1 году заключения, при сдаче партнера - свободу самому и 2-х года заключения для подельника.

Многие аналогичные линии или стратегии поведения наблюдаемы и в реальной сетевой жизни, скажем в рамках обсуждений социальной сети www.MoiKrug.ru <#"792086.files/image148.gif">

Рисунок 4.1.1 - Граф социальной сети колледжа

В ходе выполнения работы, был построен граф социальной сети Коннект. Граф имеет 590 тысяч узлов и болем 10 миллионов связей. Для большей наглядности более сильные связи были размещены в центре графа, более слабые по бокам. Полный граф можно увиделть на Рис 4.1.3.

Рисунок 4.1.2 - Граф социальной сети знакомств

Рисунок 4.1.3 - граф социальной сети Коннект.

Большая часть узлов очень сильно связано друг с лругом. Некоторые узлы имеют колоссальное количество связей (знаменитости, социально-активные люди) и существенно влияют на внешний вид сети. Как правило, их соседние узлы более сильно переплетены.

 

.2 Статистика использования социальных сетей


Сперва исследуем использование социальных сетей. Как видно из рис. 4.2.1 большинство пользователей используют социальные сети. При этом около трети не хватает одной сети - они используют несколько.

Рисунок 4.2.1 - Количество использумых социальных сетей в Украине

Использование социальных сетей сильно зависит от возраста (рис. 4.2.2). Чем старше челокек, тем меньше социальных сетей он использует. Наиболее активная аудитория 18-25. Именно среди них больше всего тех, кто использует 2, 3 и более социальных сетей. Это прежде всего связанно с занятостью человека. Чем меньше он обременен проблемами - тем больше у него свободного времени - тем больше он может тратить времени на социальные сети. В последнее время наблюдается бурный рост детской аудитории социальных сетей. Это несет в себе некую угрозу, так как в социальной сети часто можно найти материалы порнографического характера, нецензурную лексику и другие угрозы.

Рисунок 4.2.2 - Количество использываемых социальных сетей (возрастной срез)

Использование сетей также зависит и от пола человека. Женщины более часто используют социальные сети, при этом именно женщины более склонны использовать более двух социальных сетей (рис. 4.2.3). Это вызвано несколькими факторами. Во-первых, у женщин в сложившихся социально-экономических реалиях больше свободного времени. Во-вторых, женщины намного более популярны в сети, они получают намного больше сообщений и запросов дружить. В-третьих, славянский менталитет предполагает, что женщина более пассивна в поиске партнера, чем мужчина. Мужчина может позволить себе активно знакомится на улице и других местах, в то время как женщине приходиться везде себя предлагать, в том числе и в социальных сетях.

Рисунок 4.2.3 - Количество использываемых социальных сетей (срез по полу)

Также использование социальных сетей линейно зависит от интернет-стажа пользователя (рис 4.2.4). Чем дольше человек использует интернет, тем больше вероятность того, что пользователь зарегистрирован в социальной сети. Это можно связать с некоторыми факторами:

.        Социальная сеть достаточно сложная в использовании. В ней сложнее разобраться чем в электронной почте или новостном сайте.

.        Чем дольше пользователь в Интернете, тем чаще ему на пути попадались социальные сети, а значит и шансов зарегистрироваться у него больше.

Рисунок 4.2.4 - Количество использываемых социальных сетей (срез по стажу)

Расмосмотрим все факторы, которые влияют на использование социальных сетей. Среди них:

.        Молодость.

.        Время проводимо в сети.

.        Женский пол.

.        Активный поиск партнера.

.        Опыт использования интернета.

и другие.

Определим наиболее значиме факторы, которые влияют на использование. На рис. 4.2.5 можно увидеть результаты исследования. Как видно из графика, наиболее важными факторами является молодость и время проводимое в сети.

Рисунок 4.2.5 - Факторы, влияющие на использование социльных сетей.

Основные группы активных пользователей социальных сетей:

.        18-25 года, женщины, проводят в интернете от 3 часов в день и больше, опытные пользователи;

.        18-22 года, мужчины, проводят в интернете от 3 часов в день, опытные пользователи;

.        До 21 года, в основном женщины, менее 3 часов в день в сети, в интернете более года.

.        30-40 лет, в основном женщины, менее 3 часов в день в сети, в интернете более года.

Также проведем анализ мест использования различных социальных сетей (рис. 4.2.6). Одноклассники.РУ используют больше на работе, что связанно с тем, что в этой социальной сети преимущественно взрослые пользователи, которые имеют работу. Вконтакте.РУ - из дому, студенты и школьники не имеют работы. Моймир - от друзей и Интернет-кафе. Как правило в интернет-кафе выходят для того, что прочесть почту, а социальная сеть Моймир как раз и построена на основе крупного почтового сервиса mail.ru.

Рисунок 4.2.6 - Места использования социальных сетей.

 

.3 Анализ связей


Среднее число друзей у одного человека невелико. В большинстве групп - это 5-7 человек на «Коннекте». Для сетей с большим числом участников среднее значение числа друзей составляет 10-30 человек. Конечно, всегда есть пользователи с тысячами и десятками тысяч друзей, но у большинства - друзей не так уж и много. На Рис 4.3.1 показан анализ количества друзей в зависимости от возраста и пола. Как видно, чем моложе пользователь, тем больше у него друзей. Наибольшее количество друзей можно наблюдать у молодых девушек, именно они попадают под пристальное внимание мужчин всех возрастов.

Рисунок 4.3.1 - Среднее количество друзей (розбивка по возрасту)

Также было проведенно качественное исследование связей людей. На рис. 4.3.2 показана структура друзей пользователей женского пола. Чем моложе женщина, тем больше у нее друзей противоположного пола. Также женщины пользователи 10-24 лет как правило общаются внутри своей группы, тогда как женщины старшего возраста общаются со всеми группами.

У мужчин картина более яркая (рис. 4.3.3). Молодые парни общаются практически только с противоположным полом своей возрасной категории. Тогда как мужчины более зрелые предпочитают общаться с болем молодыми.

Рисунок 4.3.2 - Стуктура друзей женского пола

Рисунок 4.3.3 - Стуктура друзей мужского пола

4.4 Висновки до розділу 4


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

Для наглядності та легкості сприймання інформації застосовувався інструсмент діаграм програмного комплексу Microsoft Excel. Також було у вигляді графу візуалізовано соціальну мережу з усіма її вузлами та зв’язками.

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

ВИСНОВКИ

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

В результаті виконання роботи отримані наступні результати.

.        Проведено функціонально-вартісний аналіз варіантів реалізації.

.        Результати роботи використовуються для вдосконалення соціальної мережі connect.ua

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

.        Розглянуті різноманітні математичні моделі соціальних мереж.

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

.        Проведено аналіз даних соціальної мережі connect.ua, знайдені статистичні закономірності та залежності залежностей різноманітних показників від віку, статті та досвіду користування Інтернетом.

.        Розглянуті психологічні аспекти користування онлайновими соціальними мережами.

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

ПЕРЕЛІК ПОСИЛАНЬ

1.     Методичні вказівки до виконання організаційно-економічного розділу дипломних проектів /Укл. К.В. Березовський, В.Є. Богданюк та інш. За ред. А. Т. Чернявського. К.: НТУУ "КПІ", 1999 - 66 с.

2.      ДСТУ 3008-95. Документація. Звіти у сфері науки і техніки. Структура і правила оформлення.

3.      Закон України “Про систему оподаткування”.

.        Эйдман И.В. Прорыв в будущее: Социология Интернет-революции. - М.: ОГИ, 2007. - 384 с.

5.      Сазанов В.М. Соціально-ориєнтовані Інтернет-технологіі. www.ntl-cbm.narod.ru

6.      http://uk.wikipedia.org/wiki/Соціальна_мережа

.        Wikipedia.org

8.      <http://www.soobshestva.ru/>

9.      International Network for Social Network Analysis - <http://www.insna.org/>

10.    Каталог русских web 2.0 сайтов, социальных сетей и сервисов - Catalogr.ru <http://catalogr.ru/>

.        Уэбстер Ф. Теории информационного общества. Пер. с англ. М.В. Арапова. Н.В. Малышиной; Под ред. Е.Л. Вартановой. - М.: Аспект Пресс, 2004 - 400 с.

.        Тоффлер Э. Третья волна. - М.АСТ, 2002.

.        Драккер П. Управление, нацеленное на результамы: Пер с англ. - М.: Технологическая школа бизнеса, 1994 - 200 с.

.        Мильнер Б.З. Теория организации. С-Пб. Государственный университет.

.        Антон Шириков Рецепты из черного ящика \ "Компьютерра" №42 от 18 ноября 2005 года.

.        Трофимова И.Н. Моделирование социального поведения.

.        Леонид Левкович-Маслюк. Математика этих сетей - Компьютерра.

.        Чеботарева Н.Д. Интернет-форум как виртуальный аналог психодинамической группы.

.        Давыденко В.А., Ромашкина Г.Ф., Чуканов С.Н. Моделирование социальных сетей. Отчет по гранту «Социолого-математическое моделирование социальных сетей».

.        Градосельская Г. В. Анализ социальных сетей Автореферат диссертации.

.        Градосельская Г.В. Сетевые измерения в социологии: Учебное пособие. М.: Изд. дом "Новый учебник", 2004.

.        Евгений Патаракин Создание профессионального сетевого сообщества.

.        Бобровский С. Про Web 2.0, 3.0 и 4.0 - PC Week.

.        Капица С.П., Курдюмов С.П., Малинецкий Г.Г. Синергетика. Прогнозы будущего, М., УРСС, 2001, 288 с.

.        Кузнецов М., Симдянов И. Социальная инженерия и социальные хакеры. - СПб.: БХВ-Петербург, 2007. - 368 с.

.        Кащенко С.А., Майборода В.П. Новые направления системного анализа и компьютерного моделирования в научно-образовательной среде.

.        Малинецкий Г.Г. Сценарии, стратегические риски, информационные технологии. Информационные технологии и вычислительные системы. 2002, №4

.        Гуц А.К., В.В. Коробицын, А.А. Лаптев, Л.А. Паутова, Ю.В. Фролова. Математические модели социальных систем: Учебное пособие. - Омск: Омск. гос. ун-т, 2000. - 256 c.

.        Гуц А.К., В.В. Коробицын, А.А. Лаптев, Л.А. Паутова, Ю.В. Фролова. Социальные системы. Формализация и компьютерное моделирование: Учебное пособие. - Омск: Омск. гос. ун-т, 2000. - 160 c.

.        Трофимова И.Н. Моделирование социального поведения.

.        Радаев В.В. Как организовать и представить исследовательский проект: 75 простых правил. М.: ГУ ВШЭ: ИНФРА-М, 2001. - 203 с.

.        Минзов А.С., Добренькова Е.В. Некоторые подходы к построению эффективных систем управления фирмами, основанные на гомеостатических принципах.

.        Лем С. Модели и действительность. Компьютерра. 15 февраля 2005 г. с.54-55.

.        Стругацкие Б. и А. За миллиард лет до конца света.

.        Редько В.Г. Эволюционная биокибернетика.

.        Панарин А.С. Искушение глобализмом. - М.: Изд-во «Эксмо», 2003. - 416 с.

.        Винер Н. Кибернетика или управление и связь в животном и машине.- М.: Сов. Радио. - 1968. - 325с.

.        Бобровский С. Эволюция и искуственная жизнь. PC WEEK/RE #5, 15 февраля, 2005 с. 34-35

39.    Леонид Левкович-Маслюк. Математика этих сетей - Компьютерра.

.        Градосельская Г.В. Сетевые измерения в социологии: Учебное пособие. М.: Изд. дом "Новый учебник", 2004.

41.    Robert A. Hanneman and Mark Riddle. Introduction to social network methods.

42.    Сергей Жилин. Наша копилка заметок из истории социальных.

.        Маслянко П.П., Ліссов П.М. Дослідження та розробка підсистеми автоматизації проектування інформаційних ресурсів організаційних систем // Матеріали ІІ Всеукр. наук.-практ. конф. ―Сучасні тенденції розвитку інформаційних технологій ...", 8-10 квітня 2008 р., м. Луганськ - С.57-59.

.        Маслянко П.П., Ліссов П.М. Проблеми і технології продукування інформаційних ресурсів // VII сеждународная конференция "ИнтеллектуальныйАнализ Информации", ИАИ-2007, Киев, 15-18 мая 2007, Сборник трудов, с.221-229.

.        Маслянко П.П., Ліссов П.М. Проблеми і технології продукування інформаційних ресурсів // Вісник Східноукраїнського Національного ун-ту імені Володимира Даля - №4(110) (Частина 2) - 2007р - с. 136-141. 104

.        Закон України «Про захист інформації в інформаційно-телекомунікаційних системах» (від 31.052005р. М2594-ІУ).

.        Маслянко П.П. Системне проектування процесів інформатизації // Науові Вісті НТУУ «КПІ» - 2008р. - №1. - С.201-208.

.        Антопольский А.Б. Проблемы управления публичными информационными ресурсами России.

.        Методичні вказівки до виконання організаційно-економічної частини дипломних проектів. Під редакцією А.Т.Чернявського − К.:НТУУ "КПІ", 1999. − 66с.

.        Методичні вказівки до виконання курсових робіт та організаційного розділу дипломних робіт і проектів (для студентів спеціальностей електронного приладобудування). / Укл. М.М. Дугенко, B.C. Сичов, Л.В. Луночна. − К.: КПІ, 1994 − 32с.

.        Маслянко П.П., Майстренко О.С., Ліссов П.М. Розробка бізнес-моделі НТУУ «КПІ» // VIII міжнародна науково-практична конференція «Системний аналіз та інформаційні технології, 13-16 вересня 2006, Київ, Україна, (КПІ), тези, с.36.

.        Маслянко П.П., Майстренко О.С. Розробка бізнес-моделі НТУУ «КПІ» // ХІІІ Всеукраїнська наукова конференція ―Сучасні проблеми прикладної математики та інформатики‖ (присвячена 150-річчю з дня народження Івана Франка) 3-5 жовтня 2006, Львів, тези, с.161.

ДОДАТОК

ФРАГМЕНТИ ПРОГРАМНОГО КОДУ

<?require_once dirname(__FILE__) . '/sql_statement.class.php';('SQL_DBC_DIE', 4);('SQL_DBC_RETURN', 8);('SQL_DBC_WARNING', 16);('SQL_DBQ_RETURN', 32);('SQL_DBQ_DIE', 64);('SQL_PARAM_INT', 1);('SQL_PARAM_STR', 2);('SQL_PARAM_ARRAY_INT', 3);('SQL_PARAM_ARRAY_STR', 4);('SQL_PARAM_MATCH', 5);db

{$db_params = array ();$db_links = array ();$error_code = 0;$error_info = '';$affected_rows = 0;$row_count = 0;$counter = 0;static $debug_in_flow = false;static function get_instance()

{$instance = null;(!$instance)

{

$instance = new db();

}$instance;

}static function insert( $data, $table_name, $db_alias = 'master', $duplicate_key_ignore = false, $on_duplicate = null )

{

$ignoreSql = $duplicate_key_ignore ? ' IGNORE ' : '';

$sql = 'INSERT ' . $ignoreSql . ' INTO ' . $table_name . ' SET ';

$setData = array();( $data as $column => $value )

{

$setData[] = "`{$column}` = :{$column}";

$bind[':' . $column] = $value;

}

$sql .= implode(',', $setData);( $on_duplicate )

{

$sql .= ' ON DUPLICATE KEY UPDATE ' . $on_duplicate;

}db::exec($sql, $bind, $db_alias);

}static function update( array $data, array $keys, $table_name, $db_alias = 'master' )

{

$sql = 'UPDATE ' . $table_name . ' SET ';

$setData = array();

$keyData = array();( $data as $column => $value )

{( !in_array($column, $keys) )

{

$setData[] = "{$column} = :{$column}";

}

{

$keyData[] = "{$column} = :{$column}";

}

$bind[':' . $column] = $value;

}

$sql .= implode(',', $setData) . ' WHERE ' . implode(' AND ', $keyData) . ' LIMIT 1';db::exec($sql, $bind, $db_alias);

}static function row($statement, $params = array(), $db_alias = 'master')

{db::get_instance()->get_row($statement, $params, $db_alias);

}static function rows($statement, $params = array(), $key = 'id', $db_alias = 'master')

{db::get_instance()->get_rows($statement, $params, $key, $db_alias);

}static function cols($statement, $params = array(), $db_alias = 'master')

{db::get_instance()->get_cols($statement, $params, $db_alias);

}static function scalar($statement, $params = array(), $db_alias = 'master')

{db::get_instance()->get_scalar($statement, $params, $db_alias);

}static function exec($statement, $params = array(), $db_alias = 'master')

{db::get_instance()->execute($statement, $params, $db_alias);

}static function last_id($db_alias = 'master')

{db::get_instance()->get_last_id($db_alias);

}static function affected_rows($db_alias = 'master')

{db::get_instance()->get_affected_rows($db_alias);

}static function explain($query)

{db::rows('EXPLAIN ' . $query, array(), '__');

}function connect($db_alias = 'master')

{(isset($this->db_links[$db_alias]) && $this->db_links[$db_alias])

{$this->db_links[$db_alias];

}(config::get('debug_mode'))

{

$start_time = microtime(true);

}

$d = $this->db_params[$db_alias];

$this->db_links[$db_alias] = mysql_connect($d['host'], $d['user'], $d['pass']);(config::get('debug_mode'))

{

$span = microtime(true) - $start_time;::add('db', array('timespan' => $span, 'alias' => 'connect to' . $db_alias, 'operation' => 'connect'));

}::exec('SET NAMES utf8', array(), $db_alias);($this->db_links[$db_alias])

{$this->db_links[$db_alias];

}::err('Connection failed to ' . $db_alias . "\n" . mysql_error());false;

}function prepare($statement, $db_alias = 'master')

{

$db = db::get_instance();$db->query_prepare($statement, $db_alias);

}function query_prepare($statement, $db_alias = 'master')

{

$this->error_code = 0;

$this->error_info = '';

$this->counter++;(!isset($this->db_params[$db_alias]))

{

$db_alias = 'master';

}

$db_handle = $this->connect($db_alias);(!$db_handle)

{false;

}new sql_statement($this, $statement, $db_alias, $db_handle);

}function execute($statement, $params = array(), $db_alias = 'master')

{

$stmt = $this->query_prepare($statement, $db_alias);($params as $key => $value)

{(is_int($value))

{

$stmt->bind($key, $value, SQL_PARAM_INT);

}(is_array($value))

{(!count($value))

{new Exception('Array must have at least one element');

}(is_int($value[0]))

{

$stmt->bind($key, $value, SQL_PARAM_ARRAY_INT);

}

{

$value[0] = (string)$value[0];

$stmt->bind($key, $value, SQL_PARAM_ARRAY_STR);

}

}

{

$stmt->bind($key, $value, SQL_PARAM_STR);

}

}$stmt->execute();

}function get_row($statement, $params = array(), $db_alias = 'master')

{

$handle = $this->execute($statement, $params, $db_alias);mysql_fetch_assoc($handle);

}function get_rows($statement, $params = array(), $key = 'id', $db_alias = 'master')

{

$handle = $this->execute($statement, $params, $db_alias);

$res = array();($a = mysql_fetch_assoc($handle))

{($key && isset($a[$key]) && $a[$key])

{

$res[$a[$key]] = $a;

}

{

$res[] = $a;

}

}$res;

}function get_cols($statement, $params = array(), $db_alias = 'master')

{

$handle = $this->execute($statement, $params, $db_alias);

$res = array();($a = mysql_fetch_row($handle))

{(array_key_exists(0, $a) && array_key_exists(1, $a))

{

$res[$a[0]] = $a[1];

}(isset($a[0]))

{

$res[] = $a[0];

}

}$res;

}function get_scalar($statement, $params = array(), $db_alias = 'master')

{

$handle = $this->execute($statement, $params, $db_alias);(mysql_numrows($handle))

{

$res = mysql_result($handle, 0, 0);

}$res;

}function get_last_id($db_alias = 'master')

{

$link = $this->connect($db_alias);mysql_insert_id($link);

}function get_affected_rows($db_alias = 'master')

{

$link = $this->connect($db_alias);mysql_affected_rows($link);

}

}sql_statement

{$db = NULL;$db_alias = '';$db_handle = NULL;$paramType = NULL;$statement = '';$query = '';$params = array();$paramsTemp = false;$paramTypes = array();$paramLenghts = array();$affectedRows = 0;$rowCount = 0;$_startTime = 0;$_endTime = 0;$errorCode = 0;$errorInfo = false;sql_statement($db, $statement, $db_alias, $db_handle)

{

$this->db_alias = $db_alias;

$this->db_handle = $db_handle;

$this->db = $db;

$this->statement = $statement;

}_parse_query()

{

$this->_cast_values();

$this->query = $this->statement;

$i = 0;

$this->query = $this->statement;(is_array($this->paramsTemp))

{($this->paramsTemp);($this->paramsTemp as $key => $param)

{

$this->query = str_replace($key, ':\'' . $i .'\'' , $this->query);

$i++;

}

$i = 0;($this->paramsTemp as $key => $param)

{

$this->query = str_replace(':\'' . $i . '\'', $this->paramsTemp[$key], $this->query);

$i++;

}

}true;

}_check_param($parameter)

{(is_int($parameter))

{::err('SQL Parse Error. Use only string placeholders ' . $this->statement, 3, SQL_ERRORS_FILE);new Exception('SQL Parse Error. Use only string placeholders');

}($parameter[0] != ':' || strlen($parameter) < 2 || $parameter[1] == '\'')

{::err('SQL Parse Error. Bad placeholder name ' . $this->statement, 3, SQL_ERRORS_FILE);new Exception('SQL Parse Error. Bad placeholder\'s name');

}

}param($parameter, & $variable, $data_type = NULL, $length = NULL, $driverOptions = array ())

{

$this->_check_param($parameter);

$this->param_lengths[$parameter] = $length;

$this->param_types[$parameter] = $data_type;

$this->params[$parameter] = & $variable;

{

$this->_check_param($parameter);

$this->param_lengths[$parameter] = $length;

$this->param_types[$parameter] = $data_type;

$this->params[$parameter] = $value;

}execute($input_parameters = NULL)

{(config::get('debug_mode'))

{

$start_time = microtime(true);

}($input_parameters !== NULL)

{

$this->params = $input_parameters;($this->params as $key => $value)

{

$this->_check_param($key);

}

}

$this->_parse_query();

$this->_inner_execute();(config::get('debug_mode'))

{

$span = microtime(true) - $start_time;::add('db', array('query' => $this->query, 'timespan' => $span, 'alias' => $this->db_alias, 'operation' => ''));

$span = sprintf('%.1f ms', $span * 1000);::sql("$this->db_alias, $span, $this->query", $start_time, microtime(true));( config::get('SQL_DEBUG_IN_FLOW') || db::$debug_in_flow)

{$this->query . "<br/>";

}

}( config::get('db_profiler') )

{

$queries = (array)cache::get('db_profiler_queries');

$queries[$this->statement] += 1;::set( $queries, 60*60*24*30, 'db_profiler_queries' );

}$this->query_handle;

}function fetch_all()

{

$rows = array();($row = mysql_fetch_assoc($this->query_handle))

{

$rows[] = $row;

}$rows;

}function fetch_cols()

{

$rows = array();($a = mysql_fetch_row($this->query_handle))

{

$rows[] = $a[0];

}$rows;

}_inner_execute()

{

$this->query_handle = mysql_query($this->query, $this->db_handle);(!$this->query_handle)

{

$this->error_code = mysql_errno($this->db_handle);

$this->error_info = mysql_error($this->db_handle);

$this->db->error_code = $this->error_code;

$this->db->error_info = $this->error_info;

$log_line = $this->get_error_line($this->db_alias);new Exception('SQL Error. ' . $log_line);

}

}_cast_values()

{($this->params as $key => $value)

{($this->param_types[$key])

{SQL_PARAM_INT :

$this->paramsTemp[$key] = $this->sqlInteger($this->params[$key]);;SQL_PARAM_ARRAY_INT :(!is_array($this->params[$key]))

{_error('Error cast values. Parameter must be an array. ' . $this->statement, E_USER_ERROR);

}($this->params[$key] as $_key => $_value)

{

$this->paramsTemp[$key][$_key] = $this->sqlInteger($this->params[$key][$_key]);

}(count($this->paramsTemp[$key]) > 0)

{

$this->paramsTemp[$key] = implode(',', $this->paramsTemp[$key]);

};SQL_PARAM_ARRAY_STR :(!is_array($this->params[$key]))

{('Error cast values. Parameter must be an array');

}

$this->paramsTemp[$key] = array();($this->params[$key] as $_key => $_value)

{

$this->paramsTemp[$key][$_key] = "'" . $this->sqlString($this->params[$key][$_key]) . "'";

}(count($this->paramsTemp[$key]) > 0)

{

$this->paramsTemp[$key] = implode(',', $this->paramsTemp[$key]);

};SQL_PARAM_MATCH :

$to_encode = array("-","~","*","+","<",">","(",")");

$encoded = array("\-","\~","\*","\+","\<","\>","\(","\)");

$dummyArray = split(" ", trim(str_replace($to_encode, $encoded, $this->sqlString($this->params[$key]))));

$this->paramsTemp[$key] = "'+".implode("* +", $dummyArray)."*'";;SQL_PARAM_STR ::(isset ($this->paramLengths[$key]))

{

$this->paramsTemp[$key] = mb_substr($this->params[$key], 0, $this->paramLengths[$key], 'UTF-8');

}

{

$this->paramsTemp[$key] = $this->params[$key];

}

$this->paramsTemp[$key] = is_int($this->paramsTemp[$key]) ? $this->paramsTemp[$key] : "'" . $this->sqlString($this->paramsTemp[$key]) . "'";;

}

}

}errorCode()

{$this->errorCode;

}error_info()

{$this->errorInfo;

}get_error_line($db_alias)

{(!isset($this->db->db_params[$db_alias]['host']))

{

$host = 'undefined host';

}

{

$host = $this->db->db_params[$db_alias]['host'];

}(!isset($this->db->db_params[$db_alias]['db']))

{

$db = 'undefined db';

}

{

$db = $this->db->db_params[$db_alias]['db'];

}

$query = str_replace(array ("\n","\r","\t"), ' ', $this->query);date('Y-m-d H:i:s') . ' : [MySQL - ERROR] ' ._errno($this->db_handle) . " triggered by [" .($_SERVER['PHP_SELF']) . " | " .

$operation . $db_alias."/".$host . "/" . $db . " | ". $query . " ] : " . mysql_error($this->db_handle) . "\n\n";

}sqlString($string, $nonDB = false)

{(get_magic_quotes_gpc())

{

$string = stripslashes($string);

}mysql_real_escape_string($string) ;

}sqlInteger($i, $isNegative = false)

{

$isNegative = $i < 0;( $isNegative )

{(int)$i;

} else

{abs((int)$i);

}

}

}log

{static $logs = array();static $files = array();static $enable = true;static function enabled()

{config::get('log_enabled');

}static function msg($msg)

{

$tmp['msg'] = $msg;self::log_data(__FUNCTION__, $tmp);

}static function err($errno, $errstr = '', $errfile = '', $errline = '', $errcontext = '')

{(func_num_args() == 1)

{

$errstr = $errno;

}

$tmp['msg'] = $errstr;self::log_data(__FUNCTION__, $tmp);

}static function exc($e)

{

$tmp['msg'] = $e->getMessage();

$tmp['file'] = $e->getFile();

$tmp['line'] = $e->getLine();

$tmp['trace'] = $e->getTraceAsString();self::log_data(__FUNCTION__, $tmp);

}static function sql($msg)

{

$msg = str_replace("\n", " ", $msg);

$msg = str_replace("\t", " ", $msg);

$msg = str_replace(" ", " ", $msg);::write2file('sql', $msg);

}static function show($type = '')

{

$str = '';(!$type)

{

$tmp = self::$logs;

}

{

$tmp[$type] = self::$logs[$type];

}($tmp as $type => $data)

{(!$data)

{;

}

$str .= "<fieldset style=\"font-size:14px; border:1px solid #ccc; clear:both;\">\n<legend>".strtoupper($type)."</legend>\n<pre>\n";($data as $d)

{

$str .= var_export($d, true);

}

$str .= "</pre>\n</fieldset>\n";

}$str;

}static function write2file($type, $str)

{( !self::enabled() )

{false;

}

$str .= "\n";

$files = config::get('log_files');( !$fp = @fopen(self::$files[$type], 'a+') )

{;

}($fp, $str);($fp);

}static function dump2file()

{( !self::enabled() )

{false;

}(self::$logs as $type => $data)

{(!$data)

{;

}

$files = config::get('log_files');

$fp = @fopen(self::$files[$type], 'a+');(!$fp)

{

@fclose($fp);;

}

$str = '';(self::$logs[$type] as $data)

{

$str .= "MSG: ".$data['msg']."\n";(isset($data['time']))

{

$str .= "TIME: ".$data['time']."\n";

}(isset($data['file']))

{

$str .= "FILE: ".$data['file']."\n";

}(isset($data['line']))

{

$str .= "LINE: ".$data['line']."\n";

}(isset($data['trace']))

{

$str .= "TRACE: ".$data['trace']."\n";

}

$str .= "DATE: ".$data['date']."\n";

$str .= "URI: ".$data['uri']."\n";

$str .= "UID: ".$data['uid']."\n\n";

}($fp, $str);($fp);

}

}static function log_data($type, $data)

{( !self::$enable )

{;

}(!isset($data['msg']) || !$data['msg'])

{

$data['msg'] = 'No message specified!';

}(!isset($data['date']))

{

$data['date'] = date('Y-m-d H:i:s');

}(!isset($data['uri']) && isset($_SERVER['REQUEST_URI']))

{

$data['uri'] = $_SERVER['REQUEST_URI'];

}(!isset($data['uid']) && isset($GLOBALS['moifakultet_user_ID']))

{

$data['uid'] = $GLOBALS['moifakultet_user_ID'];

}::$logs[$type][] = $data;true;

}

}tracer

{static $enable = true;$trace = array();static function get_instance()

{$instance = null;(!$instance)

{

$instance = new tracer();

}$instance;

}static function add($class, $data)

{(self::$enable)

{::get_instance()->add_entry($class, $data);

}

}static function get($class)

{self::get_instance()->get_trace($class);

}function add_entry($class, $data)

{(isset($this->trace[$class]))

{

$this->trace[$class][] = $data;

}

{

$this->trace[$class] = array($data);

}

}function get_trace($class)

{$this->trace[$class];

}

}

Похожие работы на - Аналіз та дослідження зв’язків між вузлами соціальної мережі в Інтернеті

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!