summaryrefslogtreecommitdiff
path: root/python-neural-semigroups.spec
blob: 88094212e58ab27771e7c99535fdade775ea49b7 (plain)
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
%global _empty_manifest_terminate_build 0
Name:		python-neural-semigroups
Version:	0.6.3
Release:	1
Summary:	Neural networks powered research of semigroups
License:	Apache-2.0
URL:		https://github.com/inpefess/neural-semigroups
Source0:	https://mirrors.aliyun.com/pypi/web/packages/f4/a1/1e9a7d27e62f24b735e459375c51978fc084c1056d3cab0b5f0ee4c3cf09/neural-semigroups-0.6.3.tar.gz
BuildArch:	noarch

Requires:	python3-torch
Requires:	python3-tqdm
Requires:	python3-pytorch-ignite
Requires:	python3-tensorboard

%description
The project is abandoned.
If you want to reproduce results from the
`paper <https://arxiv.org/abs/2103.07388>`__, please use `this
notebook <https://colab.research.google.com/github/inpefess/neural-semigroups/blob/master/examples/train_a_model.ipynb>`__.
Here we try to model Cayley tables of semigroups using neural networks.
This work was inspired by `a sudoku
solver <https://github.com/Kyubyong/sudoku>`__. A solved Sudoku puzzle
is nothing more than a Cayley table of a quasigroup from 9 items with
some well-known additional properties. So, one can imagine a puzzle made
from a Cayley table of any other magma, e.g. a semigroup, by hiding part
of its cells.
There are two major differences between sudoku and puzzles based on
semigroups:
1) it’s easy to take a glance on a table to understand whether it is a
   sudoku or not. That’s why it was possible to encode numbers in a
   table cells as colour intensities. Sudoku is a picture, and a
   semigroup is not. It’s difficult to check a Cayley table’s
   associativity with a naked eye;
2) Sudoku puzzles are solved by humans for fun and thus catalogued. When
   solving a sudoku one knows for sure that there is a unique solution.
   On the contrary, nobody guesses values in a partially filled Cayley
   table of a semigroup as a form of amusement. As a result, one can
   create a puzzle from a full Cayley table of a semigroup but there may
   be many distinct solutions.

%package -n python3-neural-semigroups
Summary:	Neural networks powered research of semigroups
Provides:	python-neural-semigroups
BuildRequires:	python3-devel
BuildRequires:	python3-setuptools
BuildRequires:	python3-pip
%description -n python3-neural-semigroups
The project is abandoned.
If you want to reproduce results from the
`paper <https://arxiv.org/abs/2103.07388>`__, please use `this
notebook <https://colab.research.google.com/github/inpefess/neural-semigroups/blob/master/examples/train_a_model.ipynb>`__.
Here we try to model Cayley tables of semigroups using neural networks.
This work was inspired by `a sudoku
solver <https://github.com/Kyubyong/sudoku>`__. A solved Sudoku puzzle
is nothing more than a Cayley table of a quasigroup from 9 items with
some well-known additional properties. So, one can imagine a puzzle made
from a Cayley table of any other magma, e.g. a semigroup, by hiding part
of its cells.
There are two major differences between sudoku and puzzles based on
semigroups:
1) it’s easy to take a glance on a table to understand whether it is a
   sudoku or not. That’s why it was possible to encode numbers in a
   table cells as colour intensities. Sudoku is a picture, and a
   semigroup is not. It’s difficult to check a Cayley table’s
   associativity with a naked eye;
2) Sudoku puzzles are solved by humans for fun and thus catalogued. When
   solving a sudoku one knows for sure that there is a unique solution.
   On the contrary, nobody guesses values in a partially filled Cayley
   table of a semigroup as a form of amusement. As a result, one can
   create a puzzle from a full Cayley table of a semigroup but there may
   be many distinct solutions.

%package help
Summary:	Development documents and examples for neural-semigroups
Provides:	python3-neural-semigroups-doc
%description help
The project is abandoned.
If you want to reproduce results from the
`paper <https://arxiv.org/abs/2103.07388>`__, please use `this
notebook <https://colab.research.google.com/github/inpefess/neural-semigroups/blob/master/examples/train_a_model.ipynb>`__.
Here we try to model Cayley tables of semigroups using neural networks.
This work was inspired by `a sudoku
solver <https://github.com/Kyubyong/sudoku>`__. A solved Sudoku puzzle
is nothing more than a Cayley table of a quasigroup from 9 items with
some well-known additional properties. So, one can imagine a puzzle made
from a Cayley table of any other magma, e.g. a semigroup, by hiding part
of its cells.
There are two major differences between sudoku and puzzles based on
semigroups:
1) it’s easy to take a glance on a table to understand whether it is a
   sudoku or not. That’s why it was possible to encode numbers in a
   table cells as colour intensities. Sudoku is a picture, and a
   semigroup is not. It’s difficult to check a Cayley table’s
   associativity with a naked eye;
2) Sudoku puzzles are solved by humans for fun and thus catalogued. When
   solving a sudoku one knows for sure that there is a unique solution.
   On the contrary, nobody guesses values in a partially filled Cayley
   table of a semigroup as a form of amusement. As a result, one can
   create a puzzle from a full Cayley table of a semigroup but there may
   be many distinct solutions.

%prep
%autosetup -n neural-semigroups-0.6.3

%build
%py3_build

%install
%py3_install
install -d -m755 %{buildroot}/%{_pkgdocdir}
if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
pushd %{buildroot}
if [ -d usr/lib ]; then
	find usr/lib -type f -printf "\"/%h/%f\"\n" >> filelist.lst
fi
if [ -d usr/lib64 ]; then
	find usr/lib64 -type f -printf "\"/%h/%f\"\n" >> filelist.lst
fi
if [ -d usr/bin ]; then
	find usr/bin -type f -printf "\"/%h/%f\"\n" >> filelist.lst
fi
if [ -d usr/sbin ]; then
	find usr/sbin -type f -printf "\"/%h/%f\"\n" >> filelist.lst
fi
touch doclist.lst
if [ -d usr/share/man ]; then
	find usr/share/man -type f -printf "\"/%h/%f.gz\"\n" >> doclist.lst
fi
popd
mv %{buildroot}/filelist.lst .
mv %{buildroot}/doclist.lst .

%files -n python3-neural-semigroups -f filelist.lst
%dir %{python3_sitelib}/*

%files help -f doclist.lst
%{_docdir}/*

%changelog
* Thu Jun 08 2023 Python_Bot <Python_Bot@openeuler.org> - 0.6.3-1
- Package Spec generated