powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Нашел алгоритм, но он на mssql
25 сообщений из 65, страница 2 из 3
Нашел алгоритм, но он на mssql
    #39788388
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам,

+100500. Но прикручивать сфинкса в диплом считаю перебором.
...
Рейтинг: 0 / 0
Нашел алгоритм, но он на mssql
    #39788395
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
19.03.2019 13:25, Симонов Денис пишет:
> Но прикручивать сфинкса в диплом считаю перебором.

+500
не нужно делать то что ненужно (С)
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Нашел алгоритм, но он на mssql
    #39788396
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисНо прикручивать сфинкса в диплом считаю перебором.
С другой стороны нейросеть, обученная на распознавание нечёткого соответствия -
вполне дипломный размерчик. Или это уже кандидатская?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Нашел алгоритм, но он на mssql
    #39788400
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
магистерская!
тьфу, мля
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Нашел алгоритм, но он на mssql
    #39788403
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

да дело то не в размере диплома, а в том что это не соответствие теме. Зачем делать то чего от тебя не требуют.
Лучше бы ТС сосредоточился на основной задаче своего диплома, вместо копания в мелочах, которые нужны только в продакшене.
Препод не оценит всё равно.
...
Рейтинг: 0 / 0
Нашел алгоритм, но он на mssql
    #39788458
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может кому понадобится - вычисление расстояния Левенштейна для строк длиной до 1024 символов. Регистронезависимо. FB 2.5. Сильно не гонял, но вроде работает.

Код: plsql
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.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
CREATE GLOBAL TEMPORARY TABLE GTT$LVN (
    ID        INTEGER,
    LVNVALUE  INTEGER
) ON COMMIT DELETE ROWS;

CREATE OR ALTER PROCEDURE LVNMIN3 (
    A INTEGER,
    B INTEGER,
    C INTEGER)
RETURNS (
    AMIN INTEGER)
AS
begin
  amin=a;
  if (b<amin) then amin=b;
  if (c<amin) then amin=c;
  suspend;
end

CREATE OR ALTER PROCEDURE LVNDIST (
    S VARCHAR(1024),
    T VARCHAR(1024))
RETURNS (
    DIST INTEGER)
AS
declare variable i integer;
declare variable j integer;
declare variable m integer;
declare variable n integer;
declare variable cost integer;
declare variable flip smallint;
declare variable cuthalf integer;
declare variable b1 integer;
declare variable b2 integer;
declare variable b3 integer;
begin
  s=upper(s);
  t=upper(t);

  cuthalf=2048;
  i=0;
  while (i<=2048) do
    begin
       insert into gtt$lvn(id,lvnvalue) values (:i,0);
       i=i+1;
    end

  cuthalf=1024;

  s=substring(s from 1 for cuthalf-1);
  t=substring(t from 1 for cuthalf-1);
  m=char_length(s);
  n=char_length(t);

  if (m=0) then dist=n;
  else
  if (n=0) then dist=m;
  else
     begin
       flip=0; -- false;
       i=0;
       while (i<=n) do
         begin
           update gtt$lvn set lvnvalue=:i where id=:i;
           i=i+1;
         end

       i=1;
       while (i<=m) do
          begin
            if (flip=1) then
               update gtt$lvn set lvnvalue=:i where id=0;
            else
               update gtt$lvn set lvnvalue=:i where id=:cuthalf;

            j=1;
            while (j<=n) do
               begin
                 if (substring(s from :i for 1)=substring(t from :i for 1)) then cost=0;
                 else cost=1;

                 if (flip=1) then
                     begin
                        select gtt$lvn.lvnvalue from gtt$lvn where gtt$lvn.id=:cuthalf+:j into :b1;
                        select gtt$lvn.lvnvalue from gtt$lvn where gtt$lvn.id=:j-1 into :b2;
                        select gtt$lvn.lvnvalue from gtt$lvn where gtt$lvn.id=:cuthalf+:j-1 into :b3;

                        select lvnmin3.amin from lvnmin3(:b1+1,:b2+1,:b3+:cost) into :b1;

                        update gtt$lvn set lvnvalue=:b1 where id=:j;
                     end
                 else begin
                        select gtt$lvn.lvnvalue from gtt$lvn where gtt$lvn.id=:j into :b1;
                        select gtt$lvn.lvnvalue from gtt$lvn where gtt$lvn.id=:cuthalf+:j-1 into :b2;
                        select gtt$lvn.lvnvalue from gtt$lvn where gtt$lvn.id=:j-1 into :b3;

                        select lvnmin3.amin from lvnmin3(:b1+1,:b2+1,:b3+:cost) into :b1;

                        update gtt$lvn set lvnvalue=:b1 where id=:cuthalf+:j;
                      end

                j=j+1;
              end

        if (flip=1) then flip=0;
        else flip=1;

        i=i+1;
     end

       if (flip=1) then
          select gtt$lvn.lvnvalue from gtt$lvn where id=:cuthalf+:n into :dist;
       else
          select gtt$lvn.lvnvalue from gtt$lvn where id=:n into :dist;

    end
  suspend;
end

...
Рейтинг: 0 / 0
Нашел алгоритм, но он на mssql
    #39788464
Alepawka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мимопроходящий,
Простите, признаю свою ошибку, не компетентен в этом вопросе, и делаю поспешные выводы.
Но как быть, если различия в 2 буквы, находящихся в разных местах слова?
Проходить по каждой букве и добавлять '%'?
...
Рейтинг: 0 / 0
Нашел алгоритм, но он на mssql
    #39788465
Alepawka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Filippov Dmitry,
А не подскажите, есть ли тут личные сообщения? Или вы хотите перейти в другую платформу(telegram, vk и до)?
...
Рейтинг: 0 / 0
Нашел алгоритм, но он на mssql
    #39788467
Alepawka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DarkMaster,
Спасибо большое, надеюсь это именно то, что я искал🤗
...
Рейтинг: 0 / 0
Нашел алгоритм, но он на mssql
    #39789444
Alepawka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DarkMaster,
Почитал я теорию, написал этот запрос. Не работает. А вы где его взяли? Просто хотел почитать источник, да и попытаться сделать его правильным
...
Рейтинг: 0 / 0
Нашел алгоритм, но он на mssql
    #39789508
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alepawka,

Тупо взял и перевел дельфийский код отсюда:

https://ru.wikibooks.org/wiki/Реализации_алгоритмов/Расстояние_Левенштейна
...
Рейтинг: 0 / 0
Нашел алгоритм, но он на mssql
    #39789513
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alepawka,

напиши UDF. Это не долго, зато не нужно будет всякой ереси с временными таблицами
...
Рейтинг: 0 / 0
Нашел алгоритм, но он на mssql
    #39789529
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис,

Если бы были массивы и обращение к определенному символу в строке - ереси бы не было :)
...
Рейтинг: 0 / 0
Нашел алгоритм, но он на mssql
    #39789577
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
21.03.2019 13:00, DarkMaster пишет:
> Если бы были массивы и обращение к определенному символу в строке - ереси бы не было :)

offtop: а массивы так и не имплементировали в PSQL ?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Нашел алгоритм, но он на mssql
    #39789586
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий,

нет. С учётом что массивы сейчас в нутрях есть BLOB, не очень то и хотелось
...
Рейтинг: 0 / 0
Нашел алгоритм, но он на mssql
    #39789596
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
21.03.2019 14:20, Симонов Денис пишет:
> нет. С учётом что массивы сейчас в нутрях есть BLOB, не очень то и хотелось

Ок.
ну да и хрен с ними.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Нашел алгоритм, но он на mssql
    #39789649
Коваленко Дмитрий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий21.03.2019 14:20, Симонов Денис пишет:
> нет. С учётом что массивы сейчас в нутрях есть BLOB, не очень то и хотелось

Ок.
ну да и хрен с ними.


Да не ...
...
Рейтинг: 0 / 0
Нашел алгоритм, но он на mssql
    #39789678
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
21.03.2019 15:09, Коваленко Дмитрий пишет:
> Да не ...

предлагаешь вшить провайдер с поддержкой массивов внутрь PSQL? ;)
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Нашел алгоритм, но он на mssql
    #39789723
Коваленко Дмитрий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий21.03.2019 15:09, Коваленко Дмитрий пишет:
> Да не ...

предлагаешь вшить провайдер с поддержкой массивов внутрь PSQL? ;)


Не, предлагаю починить/доработать и заюзать в полнотекстовом поиске.

Как раз тянет на серьезную дипломную работу.
...
Рейтинг: 0 / 0
Нашел алгоритм, но он на mssql
    #39789725
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Коваленко Дмитрий,

после этого можно сразу в разработчики ядра Firebird просится
...
Рейтинг: 0 / 0
Нашел алгоритм, но он на mssql
    #39789758
Alepawka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денис,
Я так и сделал. Теперь мучаюсь с подключением udf. Писал функцию в lazarus. Библиотеку создал и закинул в udf/. Создаю функцию, пытаюсь использовать, а он не хочет. Хотя в rdb$function есть. Как быть?
...
Рейтинг: 0 / 0
Нашел алгоритм, но он на mssql
    #39789763
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alepawka,

отсюда не видно что у тебя не фурычит. Текст ошибки где?
...
Рейтинг: 0 / 0
Нашел алгоритм, но он на mssql
    #39789774
Alepawka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денис,

Код: sql
1.
 select search ('прив', 'прев') from rdb$dabase



Ошибка:
SQL error code -804
Function unknown
SEARCH
...
Рейтинг: 0 / 0
Нашел алгоритм, но он на mssql
    #39789775
Alepawka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот
...
Рейтинг: 0 / 0
Нашел алгоритм, но он на mssql
    #39789796
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
21.03.2019 17:58, Alepawka пишет:
> Вот



ты телефоном шо ле фоткал?!!
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
25 сообщений из 65, страница 2 из 3
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Нашел алгоритм, но он на mssql
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]