Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
1 / 1 / 0
Регистрация: 16.10.2020
Сообщений: 121
1

Метод электра 2

26.02.2023, 23:50. Показов 1151. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Рассматриваем все пары проектов i и j. Если по какому-либо
критерию i-ый проект лучше, чем j-ый, то соответствующий критерию вес
прибавляется к Pij (эти баллы символизируют выбор «За»), в противном
случае — к Nij (эти баллы символизируют выбор «Против»). То же самое
справедливо для j-го проекта: если j-ый проект оказывается лучше, чем iый, то соответствующий критерию вес прибавляется к Pji, в противном
случае — к Nji (обратите внимание на порядок следования индексов j и i у
P и N). Если повстречалось одинаковое для i-го и для j-го проектов
значение критерия, то оно пропускается. Затем, когда по паре i и j
рассмотрены все критерии, находятся отношения Dij = Pij/Nij и
Dji = Pji/Nji. Значения D ≤ 1 отбрасываются. Заметим, что Dji = 1/Dij (и
наоборот), таким образом, вычисления можно несколько упростить.
Помогите разобраться с темой. Внизу мой код.

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
columns = ['Название', 'Оснащение', 'Удаленность от метро', 'Цена', 'Качество', 'Персонал', 'Интерьер']
 
data = [['Alex Fitness', 10, 10, 10, 4, 10, 15],
        ['Terrasport', 15, 5, 20, 12, 10, 10],
        ['Зебра', 5, 10, 7, 5, 4, 10],
        ['СССР', 10, 5, 10, 4, 10, 10],
        ['Планета Фитнесса', 15, 5, 20, 8, 15, 10],
        ['X-GYM', 5, 15, 3, 4, 10, 5],
        ['We GYM', 10, 5, 20, 8, 5, 15],
        ['Orange Fitness', 10, 15, 20, 8, 10, 5],
        ['DDX', 15, 10, 2, 8, 10, 10],
        ['Миллениум', 15, 10, 7, 8, 10, 10]]
 
scales = [5, 5, 5, 4, 3, 2]
 
df = pd.DataFrame(data, columns=columns)
df.index = range(1, 11)
df.to_csv('data.csv')
 
file = 'data.csv'
data = pd.read_csv('data.csv')
alt = data.values.tolist()
 
 
def method_electra(alt):
    result_list = set()
    P = 0
    N = 0
    for i in range(len(alt)):
        for j in range(len(alt)):
            if i == j:
                continue
            if alt[i][2] > alt[j][2]:
                P += 5
                if alt[i][3] < alt[j][3]:
                    P += 5
                    if alt[i][4] < alt[j][4]:
                        P += 5
                        if alt[i][5] > alt[j][5]:
                            P += 4
                            if alt[i][6] > alt[j][6]:
                                P += 3
                                if alt[i][7] > alt[i][7]:
                                    P += 2
                                else:
                                    N += 2
                            else:
                                N += 3
                        else:
                            N += 4
                    else:
                        N += 5                                                                                                   
                else:
                    N += 5
            else:
                N += 5
            
 
 
 
 
            # if alt[i][2] < alt[j][2]:
            #     N += 5
            #     if alt[i][3] > alt[j][3]:
            #         N += 5
            #         if alt[i][4] > alt[j][4]:
            #             N += 5
            #             if alt[i][5] < alt[j][5]:
            #                 N += 4
            #                 if alt[i][6] < alt[j][6]:
            #                     N += 3
            #                     if alt[i][7] < alt[i][7]:
            #                         N += 2
    print(P)
    print(N)
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.02.2023, 23:50
Ответы с готовыми решениями:

Как реализовать метод ЭЛЕКТРА
Задали задачку реализовать метод электра, не совсем понимаю, как его реализовать ? Может есть у...

Реостат в плите Электра 1002
Всех приветствую! Помню в детстве была у нас вот такая плита как на фото Электра 1002. Первая...

Данные с Smart-КП Электра. ГОСТ Р МЭК 870-5-101
А мне здесь понравилось :) Может и по МЭК 870-5-101 на какую информацию натолкнете? Стоит на...

СЛАУ. Метод обратной матрицы, метод Гаусса, метод Крамера, метод Зейделя
Помогите ребят. Не могу построить алгоритмы для этих методов Язык C++

2
Эксперт Python
8592 / 4418 / 1855
Регистрация: 27.03.2020
Сообщений: 7,252
27.02.2023, 06:51 2
Лучший ответ Сообщение было отмечено Islam_pyth как решение

Решение

Islam_pyth, Вроде так:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import pandas as pd 
import numpy as np 
 
columns = ['Название', 'Оснащение', 'Удаленность от метро', 'Цена', 'Качество', 'Персонал', 'Интерьер']
 
data = [['Alex Fitness', 10, 10, 10, 4, 10, 15],
        ['Terrasport', 15, 5, 20, 12, 10, 10],
        ['Зебра', 5, 10, 7, 5, 4, 10],
        ['СССР', 10, 5, 10, 4, 10, 10],
        ['Планета Фитнесса', 15, 5, 20, 8, 15, 10],
        ['X-GYM', 5, 15, 3, 4, 10, 5],
        ['We GYM', 10, 5, 20, 8, 5, 15],
        ['Orange Fitness', 10, 15, 20, 8, 10, 5],
        ['DDX', 15, 10, 2, 8, 10, 10],
        ['Миллениум', 15, 10, 7, 8, 10, 10]]
 
scales = [5, 5, 5, 4, 3, 2]
 
df = pd.DataFrame(data, columns=columns)
df.index = range(1, 11)
"""
df.to_csv('data.csv')
file = 'data.csv'
data = pd.read_csv('data.csv')
"""
alt = df.iloc[:, 1:].values
alt[:, 1:3] *= -1
x = np.expand_dims(alt, axis = 0)
y = np.expand_dims(alt, axis = 1)
 
p = ((x<y)*scales).sum(2)
print(p)
n = p.T 
d = np.where((n!=0) & (p>n), p/n, 0).round(2)
print(d)
0
1 / 1 / 0
Регистрация: 16.10.2020
Сообщений: 121
27.02.2023, 09:06  [ТС] 3
благодарю.
0
27.02.2023, 09:06
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.02.2023, 09:06
Помогаю со студенческими работами здесь

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

Написать три алгоритма решения СЛАУ: Метод прогонки, метод квадратных корней, метод вращений
Начал писать курсовую. Нужно написать три алгоритма решения СЛАУ: прогонки, квадратных корней,...

Метод медиан из трех элементов VS улучшенный быстрый метод сортировки(метод Бентли-Макилроя)
Здравствуйте! Дали весьма интересное задание. Сравнить два вышеуказанных метода сортировки для...

Минимизация в excel разными методами (метод перебора, дихотомия, метод Ньютона, метод касательных)
Минимизация в excel разными методами (метод перебора, дихотомия, метод Ньютона, метод касательных) ...

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

Метод деления отрезка попалам, метод хорд, метод простых итераций 3^x-3*x=5
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;math.h&gt; // функция для вычисления f(х) float...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru