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

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

26.02.2023, 23:50. Показов 1287. Ответов 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)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.02.2023, 23:50
Ответы с готовыми решениями:

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

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

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

2
Эксперт Python
8811 / 4464 / 1862
Регистрация: 27.03.2020
Сообщений: 7,287
27.02.2023, 06:51
Лучший ответ Сообщение было отмечено 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  [ТС]
благодарю.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.02.2023, 09:06
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Не удержался от оценки концепции двигателя Стирлинга.
Hrethgir 03.04.2025
Сколько не пытался - она выдавала правильные схемы, причём случайно рисовала горячие области в середине, холодные по краям, трубки с краёв в низ и магнит в соединяющей, но при этой выдавала описание. . .
Метод с двумя буферами (или double buffering) или ping-pong buffering
Hrethgir 02.04.2025
Из ответов LM модели. Метод, который предполагает использование двух массивов для хранения промежуточных результатов сложения векторов, обычно применяется в сценариях, где необходимо минимизировать. . .
На любовном киберфронте
Alexander-7 01.04.2025
Недавно на одном малоизвестном сайте знакомств мною заинтересовалась девушка: «Текст немного странный. Но, судя по адресу почты, иностранка», – подумал я. Поколебавшись пару суток, я ответил ей:. . .
Как работает Node.js изнутри
run.dev 29.03.2025
Node. js изменил подход к разработке веб-приложений, позволив использовать JavaScript не только на стороне клиента, но и на сервере. Созданный в 2009 году Райаном Далем, этот открытый,. . .
Моки в Python: Mock Object Library
py-thonny 29.03.2025
Тестирование кода требует особого подхода, когда речь идёт о компонентах, взаимодействующих с внешним миром. Мы часто сталкиваемся с непредсказуемостью HTTP-запросов, чтением данных из базы или. . .
JavaScript: Управление памятью и улучшение производительности
run.dev 29.03.2025
В отличие от низкоуровневых языков программирования, JavaScript не требует ручного выделения и освобождения памяти. Здесь работает автоматический сборщик мусора, который определяет, какие объекты. . .
Мультитенантная архитектура со SpringBoot и PostgreSQL
ArchitectMsa 29.03.2025
SaaS-приложения редко обслуживают одного клиента и обычно они должны поддерживать множество организаций, каждая из которых работает в своём изолированном пространстве. Мультитенантная архитектура. . .
std::span в C++: Производительность и лучшие практики
NullReferenced 28.03.2025
std::span — одно из самых недооценённых нововведений стандарта C++20, которое радикально меняет подход к работе с непрерывными последовательностями данных. По сути, это невладеющее представление. . .
Многопоточность в C#: Threadpool
UnmanagedCoder 28.03.2025
Пул потоков в C# — это коллекция заранее созданных и готовых к использованию потоков, которые находятся в распоряжении приложения. Вместо того чтобы создавать и уничтожать потоки для каждой небольшой. . .
Вопросы на собеседованиях по микросервисам
ArchitectMsa 27.03.2025
Работодатели ищут не просто разработчиков, знающих базовые концепции, а специалистов, разбирающихся в тонкостях масштабирования, отказоустойчивости и производительности. Сейчас на первый план выходят. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер