Merge branch 'master' of git.wmi.amu.edu.pl:filipg/djfz-2019

This commit is contained in:
Filip Gralinski 2020-01-08 22:51:43 +01:00
commit 05ebbbb5e3
17 changed files with 109 additions and 10 deletions

View File

@ -7,7 +7,9 @@ http://poleval2020.nlp.ipipan.waw.pl/challenge/poleval-diachronic-morpho
Also, apart from submitting a solution you're expected to report any Also, apart from submitting a solution you're expected to report any
problems with the web site (including incorrect English, unclear problems with the web site (including incorrect English, unclear
instructions, software errors). instructions, software errors). Please add issues at
https://git.wmi.amu.edu.pl/filipg/gonito with label "poleval".
(first check whether you're the first to submit a problem).
For an account there, please contact Filip Graliński, but do it only For an account there, please contact Filip Graliński, but do it only
when you're sure you'll take part in it — the dataset and instructions when you're sure you'll take part in it — the dataset and instructions

View File

@ -18,5 +18,5 @@ NOTE: Task only for students whose student index number ("numer
indeksu") is divisable by 3. indeksu") is divisable by 3.
POINTS: 8 POINTS: 8
DEADLINE: 2019-12-09 18:45 DEADLINE: 2019-12-12 18:45
REMAINDER: 0/3 REMAINDER: 0/3

View File

@ -4,8 +4,8 @@ Deterministic automaton II
Read a description of a finite-state automaton in the AT&T format Read a description of a finite-state automaton in the AT&T format
(without weights) from the standard input. Then, read strings from the (without weights) from the standard input. Then, read strings from the
file whose name was given as the first argument. If a string is file whose name was given as the first argument. If a string is
accepted by the automated, write YES, a space and the string on the accepted by the automated, write TRUE, a space and the string on the
standard output, otherwise — write NO, a space and the string. standard output, otherwise — write FALSE, a space and the string.
If there is a non-determinism in the automaton, the first transition should be chosen. If there is a non-determinism in the automaton, the first transition should be chosen.
@ -16,5 +16,5 @@ NOTE: Task only for students whose student index number ("numer
indeksu") is divisable by 3 with a remainder of 1 indeksu") is divisable by 3 with a remainder of 1
POINTS: 8 POINTS: 8
DEADLINE: 2019-12-09 18:45 DEADLINE: 2019-12-12 18:45
REMAINDER: 1/3 REMAINDER: 1/3

View File

@ -24,5 +24,5 @@ NOTE: Task only for students whose student index number ("numer
indeksu") is divisable by 3 with a remainder of 2 indeksu") is divisable by 3 with a remainder of 2
POINTS: 8 POINTS: 8
DEADLINE: 2019-12-09 18:45 DEADLINE: 2019-12-12 18:45
REMAINDER: 2/3 REMAINDER: 2/3

View File

@ -7,8 +7,9 @@ cycles. The automaton alphabet is the set of Polish lower-case letters
(English letters plus: ą, ć, ę, ł, ń, ó, ś, ź and ż). (English letters plus: ą, ć, ę, ł, ń, ó, ś, ź and ż).
Your program should print, on standard output, all the paths of the Your program should print, on standard output, all the paths of the
automaton in alphabetical order. "Print a path" means print a text automaton in alphabetical order (to be precise: order induced by byte
line containing all subsequent characters. codes of strings, not according to the standard Polish order). "Print
a path" means print a text line containing all subsequent characters.
The program does not have to check whether the automaton is correct The program does not have to check whether the automaton is correct
and whether it is deterministic and does not contain cycles. and whether it is deterministic and does not contain cycles.
@ -21,6 +22,8 @@ than sum) is taken.
NOTE 2. Task only for students whose student index number ("numer NOTE 2. Task only for students whose student index number ("numer
indeksu") is divisible by 3 with a remainder of 1 indeksu") is divisible by 3 with a remainder of 1
NOTE 3. You can add `LANG=C sort` to your Bash wrapper for the write sort.
POINTS: 14 POINTS: 14
DEADLINE: 2019-12-16 23:59 DEADLINE: 2019-12-16 23:59
REMAINDER: 1/3 REMAINDER: 1/3

View File

@ -11,4 +11,4 @@ NOTE. In section B for points for your tasks, the maximum (rather
than sum) is taken. than sum) is taken.
POINTS: 18 POINTS: 18
DEADLINE: 2019-01-10 23:59 DEADLINE: 2020-01-10 23:59

9
TaskX05/Makefile Normal file
View File

@ -0,0 +1,9 @@
# .far to specjalny format do przechowywania spakowanych transduktorów
BINARIES += TaskX05/legiatolech.far
TaskX05/run: TaskX05/legiatolech.far
TaskX05/legiatolech.far: TaskX05/legiatolech.grm
LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/usr/lib/fst" thraxcompiler --input_grammar=$< --output_far=$@

9
TaskX05/description.txt Normal file
View File

@ -0,0 +1,9 @@
Write a Thrax grammar which replaces all occurrences of Polish
inflected forms of the word "Legia" ("Legia", "Legią", "Legię",
"Legii") into the corresponding forms of the word "Lech" ("Lech",
"Lechem", "Lecha", "Lecha", respectively).
The task has a solution already, do not solve it!
POINTS: 0
DEADLINE: 2020-01-30 23:00

42
TaskX05/legiatolech.grm Normal file
View File

@ -0,0 +1,42 @@
# zamiana końcówek, "i"/"ę" zgrupowane, bo zamieniamy na wspólną końcówkę
suffixes = ("a" : "") | ("i" | "ę" : "a") | ("ą" : "em");
# zamiana rdzenia
legia_to_lech_core = "Legi" : "Lech";
legia_to_lech = legia_to_lech_core suffixes;
# Wszystkie możliwe znaki, niestety nie ma (?) prostszego sposobu.
# Zauważmy, że polskie znaki diakrytyczne będą reprezentowane
# tak naprawdę jako dwuznaki, nie stanowi to jednak problemu.
allChars = Optimize[
"[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]" | "[119]" | "[120]" |
"[121]" | "[122]" | "[123]" | "[124]" | "[125]" | "[126]" | "[127]" | "[128]" | "[129]" | "[130]" |
"[131]" | "[132]" | "[133]" | "[134]" | "[135]" | "[136]" | "[137]" | "[138]" | "[139]" | "[140]" |
"[141]" | "[142]" | "[143]" | "[144]" | "[145]" | "[146]" | "[147]" | "[148]" | "[149]" | "[150]" |
"[151]" | "[152]" | "[153]" | "[154]" | "[155]" | "[156]" | "[157]" | "[158]" | "[159]" | "[160]" |
"[161]" | "[162]" | "[163]" | "[164]" | "[165]" | "[166]" | "[167]" | "[168]" | "[169]" | "[170]" |
"[171]" | "[172]" | "[173]" | "[174]" | "[175]" | "[176]" | "[177]" | "[178]" | "[179]" | "[180]" |
"[181]" | "[182]" | "[183]" | "[184]" | "[185]" | "[186]" | "[187]" | "[188]" | "[189]" | "[190]" |
"[191]" | "[192]" | "[193]" | "[194]" | "[195]" | "[196]" | "[197]" | "[198]" | "[199]" | "[200]" |
"[201]" | "[202]" | "[203]" | "[204]" | "[205]" | "[206]" | "[207]" | "[208]" | "[209]" | "[210]" |
"[211]" | "[212]" | "[213]" | "[214]" | "[215]" | "[216]" | "[217]" | "[218]" | "[219]" | "[220]" |
"[221]" | "[222]" | "[223]" | "[224]" | "[225]" | "[226]" | "[227]" | "[228]" | "[229]" | "[230]" |
"[231]" | "[232]" | "[233]" | "[234]" | "[235]" | "[236]" | "[237]" | "[238]" | "[239]" | "[240]" |
"[241]" | "[242]" | "[243]" | "[244]" | "[245]" | "[246]" | "[247]" | "[248]" | "[249]" | "[250]" |
"[251]" | "[252]" | "[253]" | "[254]" | "[255]"
];
export PROCESS = Optimize[CDRewrite[legia_to_lech, "", "", allChars*]];

3
TaskX05/run Executable file
View File

@ -0,0 +1,3 @@
#!/bin/bash
LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/lib/fst" thraxrewrite-tester --far=TaskX05/legiatolech.far --rules=PROCESS

6
TaskX05/test.exp Normal file
View File

@ -0,0 +1,6 @@
Input string: Output string: Lech Warszawa
Input string: Output string: Górnik gra z Lechem
Input string: Output string: Lech Lecha Lecha Lechem
Input string: Output string: Lechxxxxx
Input string: Output string: tu nic nie ma do zamiany
Input string:

5
TaskX05/test.in Normal file
View File

@ -0,0 +1,5 @@
Legia Warszawa
Górnik gra z Legią
Legia Legii Legię Legią
Legiaxxxxx
tu nic nie ma do zamiany

8
TaskX06/description.txt Normal file
View File

@ -0,0 +1,8 @@
Write a Thrax grammar which replaces all 0s to 1s and 1s to 0s (other
digits should not be changed).
You can assume that only string composed of digits are given on the
input.
POINTS: 1
DEADLINE: 2019-12-13 23:59

6
TaskX06/test.exp Normal file
View File

@ -0,0 +1,6 @@
Input string: Output string: 0023410
Input string: Output string: 0101010
Input string: Output string: 9999999
Input string: Output string: 888088888888888
Input string: Output string: 111
Input string:

5
TaskX06/test.in Normal file
View File

@ -0,0 +1,5 @@
1123401
1010101
9999999
888188888888888
000

View File

@ -19,7 +19,7 @@ cp "${PREFIX}/count-points.pl" arena/
cp "${PREFIX}/overrides.txt" arena/ cp "${PREFIX}/overrides.txt" arena/
cp "${PREFIX}/Makefile" arena/ cp "${PREFIX}/Makefile" arena/
for TX in X01 X02 X03 X04 B00 B01 B02 B03 B04 B05 B06 E01 E02 E03 E04 # X05 X06 X07 X08 X09 X10 B03 B04 X10 for TX in X01 X02 X03 X04 X05 X06 B00 B01 B02 B03 B04 B05 B06 E01 E02 E03 E04 # X05 X06 X07 X08 X09 X10 B03 B04 X10
do do
mkdir -p arena/Task$TX mkdir -p arena/Task$TX
done done

View File

@ -0,0 +1 @@
434739 A44 4 manually